You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2026/08/12 01:51:12 UTC
(airavata) branch refactor-single-module updated: Remove temp files
This is an automated email from the ASF dual-hosted git repository.
DImuthuUpe pushed a commit to branch refactor-single-module
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/refactor-single-module by this push:
new 6bc819b669 Remove temp files
6bc819b669 is described below
commit 6bc819b6690bcdc24a72fd26b0fc338ac7993b1b
Author: DImuthuUpe <di...@gmail.com>
AuthorDate: Tue Aug 11 21:51:05 2026 -0400
Remove temp files
---
airavata-api/agent-service/.gitignore | 1 -
airavata-api/agent-service/pom.xml | 129 --
.../airavata/agent/config/AgentProperties.java | 94 --
.../airavata/agent/config/AgentServiceConfig.java | 29 -
.../agent/grpc/AgentConnectionHandler.java | 672 --------
.../agent/grpc/AgentInteractionGrpcHandler.java | 309 ----
.../airavata/agent/grpc/PlanGrpcHandler.java | 117 --
.../apache/airavata/agent/model/PlanEntity.java | 75 -
.../airavata/agent/repository/PlanRepository.java | 31 -
.../apache/airavata/agent/service/PlanService.java | 53 -
.../src/main/proto/agent-communication.proto | 226 ---
.../src/main/proto/agent-service.proto | 392 -----
airavata-api/compute-service/pom.xml | 172 ---
.../compute/config/ComputeServiceConfig.java | 29 -
.../grpc/GatewayResourceProfileGrpcService.java | 299 ----
.../grpc/GroupResourceProfileGrpcService.java | 312 ----
.../grpc/UserResourceProfileGrpcService.java | 312 ----
.../airavata/compute/mapper/ComputeMapper.java | 562 -------
.../model/AWSGroupComputeResourcePrefEntity.java | 75 -
.../airavata/compute/model/BatchQueueEntity.java | 203 ---
.../airavata/compute/model/BatchQueuePK.java | 72 -
.../model/BatchQueueResourcePolicyEntity.java | 133 --
.../ComputationalResourceSchedulingEntity.java | 181 ---
.../model/ComputationalResourceSchedulingPK.java | 79 -
.../compute/model/ComputeResourceEntity.java | 271 ----
.../compute/model/ComputeResourcePolicyEntity.java | 109 --
.../model/ComputeResourcePreferenceEntity.java | 231 ---
.../compute/model/ComputeResourcePreferencePK.java | 76 -
.../model/ComputeResourceReservationEntity.java | 128 --
.../compute/model/GatewayProfileEntity.java | 118 --
.../model/GatewayUsageReportingCommandEntity.java | 66 -
.../compute/model/GatewayUsageReportingPK.java | 67 -
.../model/GroupComputeResourcePrefEntity.java | 132 --
.../compute/model/GroupComputeResourcePrefPK.java | 71 -
.../compute/model/GroupResourceProfileEntity.java | 158 --
.../compute/model/JobManagerCommandEntity.java | 84 -
.../compute/model/JobManagerCommandPK.java | 73 -
.../compute/model/ParallelismCommandEntity.java | 84 -
.../compute/model/ParallelismCommandPK.java | 73 -
.../model/ProcessResourceScheduleEntity.java | 167 --
.../airavata/compute/model/QueueStatusEntity.java | 105 --
.../airavata/compute/model/QueueStatusPK.java | 84 -
.../compute/model/ResourceJobManagerEntity.java | 129 --
.../model/SlurmGroupComputeResourcePrefEntity.java | 147 --
.../model/UserComputeResourcePreferenceEntity.java | 196 ---
.../model/UserComputeResourcePreferencePK.java | 84 -
.../compute/model/UserResourceProfileEntity.java | 131 --
.../compute/model/UserResourceProfilePK.java | 72 -
.../compute/model/UserStoragePreferenceEntity.java | 103 --
.../compute/model/UserStoragePreferencePK.java | 84 -
.../repository/BatchQueuePolicyRepository.java | 48 -
.../ComputeResourcePolicyRepository.java | 48 -
.../repository/ComputeResourcePrefRepository.java | 69 -
.../repository/ComputeResourceRepository.java | 249 ---
.../GatewayUsageReportingCommandRepository.java | 88 --
.../repository/GroupResourceProfileRepository.java | 396 -----
.../repository/GrpComputePrefRepository.java | 138 --
.../repository/GwyResourceProfileRepository.java | 142 --
.../compute/repository/QueueStatusRepository.java | 80 -
.../repository/ResourceJobManagerRepository.java | 128 --
.../UserComputeResourcePreferenceRepository.java | 47 -
.../repository/UserResourceProfileRepository.java | 206 ---
.../UserStoragePreferenceRepository.java | 46 -
.../compute/service/ComputeRegistryService.java | 137 --
.../service/GatewayResourceProfileService.java | 268 ----
.../service/GroupResourceProfileService.java | 759 ---------
.../service/QueueStatusRegistryHandler.java | 82 -
.../service/ResourceProfileRegistryService.java | 926 -----------
.../service/UserResourceProfileService.java | 219 ---
.../airavata/compute/task/AWSCompletingTask.java | 48 -
.../compute/task/AWSJobSubmissionTask.java | 343 -----
.../compute/task/AWSProcessContextManager.java | 131 --
.../apache/airavata/compute/task/AWSTaskUtil.java | 124 --
.../task/AiravataCustomCommandOutputParser.java | 67 -
.../compute/task/CloudJobManagerConfiguration.java | 94 --
.../compute/task/CreateEC2InstanceTask.java | 169 --
.../compute/task/DefaultJobSubmissionTask.java | 302 ----
.../apache/airavata/compute/task/EnvSetupTask.java | 66 -
.../compute/task/ExponentialBackoffWaiter.java | 102 --
.../compute/task/ForkJobConfiguration.java | 120 --
.../compute/task/ForkJobSubmissionTask.java | 105 --
.../airavata/compute/task/ForkOutputParser.java | 55 -
.../airavata/compute/task/GroovyMapBuilder.java | 503 ------
.../airavata/compute/task/GroovyMapData.java | 598 --------
.../compute/task/HTCondorJobConfiguration.java | 129 --
.../compute/task/HTCondorOutputParser.java | 175 ---
.../apache/airavata/compute/task/JobFactory.java | 98 --
.../compute/task/JobManagerConfiguration.java | 34 -
.../airavata/compute/task/JobSubmissionTask.java | 235 ---
.../org/apache/airavata/compute/task/JobUtil.java | 65 -
.../airavata/compute/task/LSFJobConfiguration.java | 123 --
.../airavata/compute/task/LSFOutputParser.java | 121 --
.../compute/task/LocalJobSubmissionTask.java | 56 -
.../airavata/compute/task/MonitoringTask.java | 298 ----
.../airavata/compute/task/NoOperationTask.java | 38 -
.../apache/airavata/compute/task/OutputParser.java | 61 -
.../airavata/compute/task/PBSJobConfiguration.java | 130 --
.../airavata/compute/task/PBSOutputParser.java | 148 --
.../apache/airavata/compute/task/ScriptTag.java | 33 -
.../compute/task/SlurmJobConfiguration.java | 134 --
.../airavata/compute/task/SlurmOutputParser.java | 144 --
.../airavata/compute/task/UGEJobConfiguration.java | 121 --
.../airavata/compute/task/UGEOutputParser.java | 109 --
.../org/apache/airavata/compute/util/Agent.java | 22 -
.../apache/airavata/compute/util/AgentUtils.java | 55 -
.../airavata/compute/util/JobSubmissionOutput.java | 102 --
.../airavata/compute/util/SSHJAgentAdaptor.java | 668 --------
.../airavata/compute/util/SSHJStorageAdaptor.java | 339 ----
.../apache/airavata/compute/util/SSHKeyUtil.java | 69 -
.../airavata/compute/util/StandardOutReader.java | 62 -
.../proto/gateway_resource_profile_service.proto | 261 ----
.../proto/group_resource_profile_service.proto | 258 ----
.../src/main/proto/resource_service.proto | 174 ---
.../main/proto/user_resource_profile_service.proto | 272 ----
.../repository/QueueStatusRepositoryTest.java | 62 -
.../service/GatewayResourceProfileServiceTest.java | 188 ---
.../service/GroupResourceProfileServiceTest.java | 331 ----
.../service/UserResourceProfileServiceTest.java | 161 --
.../GroupComputeResourcePreferenceUtilTest.java | 155 --
.../airavata/compute/util/SFTPDeleteDirTest.java | 196 ---
airavata-api/credential-service/pom.xml | 158 --
.../credential/config/CredentialServiceConfig.java | 29 -
.../credential/grpc/CredentialGrpcService.java | 187 ---
.../credential/mapper/CredentialMapper.java | 36 -
.../credential/model/CredentialEntity.java | 98 --
.../airavata/credential/model/CredentialPK.java | 64 -
.../repository/CredentialRepository.java | 34 -
.../repository/CredentialStoreException.java | 38 -
.../credential/service/CredentialService.java | 255 ----
.../credential/service/CredentialStoreService.java | 406 -----
.../credential/service/SSHAccountManager.java | 268 ----
.../credential/service/SSHAccountService.java | 101 --
.../airavata/credential/ssh/PoolingSSHJClient.java | 463 ------
.../credential/ssh/SCPFileTransferWrapper.java | 106 --
.../airavata/credential/ssh/SFTPClientWrapper.java | 50 -
.../airavata/credential/ssh/SSHClientWrapper.java | 44 -
.../credential/ssh/SSHConnectionServiceImpl.java | 788 ----------
.../airavata/credential/ssh/SessionWrapper.java | 194 ---
.../credential/util/ConfigurationReader.java | 116 --
.../credential/util/CredentialEncryptionUtil.java | 182 ---
.../credential/util/CredentialStoreConstants.java | 34 -
.../airavata/credential/util/PrivateKeyStore.java | 65 -
.../apache/airavata/credential/util/SSHUtil.java | 89 --
.../airavata/credential/util/TokenGenerator.java | 48 -
.../apache/airavata/credential/util/Utility.java | 110 --
.../src/main/proto/credential_service.proto | 180 ---
.../credential/service/CredentialServiceTest.java | 185 ---
.../service/CredentialStoreServiceTest.java | 399 -----
.../credential/service/SSHAccountServiceTest.java | 127 --
.../credential/util/ConfigurationReaderTest.java | 58 -
.../credential/util/TokenGeneratorTest.java | 40 -
airavata-api/iam-service/pom.xml | 142 --
.../airavata/iam/config/IamServiceConfig.java | 29 -
.../ProceedingJoinPointMethodInvocation.java | 65 -
.../apache/airavata/iam/config/SecurityAspect.java | 50 -
.../airavata/iam/grpc/GroupManagerGrpcService.java | 326 ----
.../iam/grpc/GroupWithAccessAssembler.java | 91 --
.../airavata/iam/grpc/SharingGrpcService.java | 1173 --------------
.../airavata/iam/mapper/GatewayEntityMapper.java | 41 -
.../apache/airavata/iam/mapper/ProfileMapper.java | 76 -
.../airavata/iam/model/CommunityUserEntity.java | 75 -
.../apache/airavata/iam/model/CommunityUserPK.java | 76 -
.../apache/airavata/iam/model/DomainEntity.java | 126 --
.../iam/model/DuplicateEntryException.java | 35 -
.../apache/airavata/iam/model/EntityEntity.java | 222 ---
.../org/apache/airavata/iam/model/EntityPK.java | 74 -
.../airavata/iam/model/EntityTypeEntity.java | 130 --
.../apache/airavata/iam/model/EntityTypePK.java | 75 -
.../apache/airavata/iam/model/GatewayEntity.java | 258 ----
.../airavata/iam/model/GatewayGroupsEntity.java | 98 --
.../airavata/iam/model/GroupAdminEntity.java | 98 --
.../apache/airavata/iam/model/GroupAdminPK.java | 84 -
.../airavata/iam/model/GroupMembershipEntity.java | 125 --
.../airavata/iam/model/GroupMembershipPK.java | 87 --
.../apache/airavata/iam/model/IdentityContext.java | 41 -
.../airavata/iam/model/PermissionTypeEntity.java | 127 --
.../airavata/iam/model/PermissionTypePK.java | 75 -
.../apache/airavata/iam/model/SharingEntity.java | 148 --
.../org/apache/airavata/iam/model/SharingPK.java | 118 --
.../iam/model/SharingRegistryException.java | 35 -
.../org/apache/airavata/iam/model/UserEntity.java | 107 --
.../apache/airavata/iam/model/UserGroupEntity.java | 180 ---
.../org/apache/airavata/iam/model/UserGroupPK.java | 73 -
.../org/apache/airavata/iam/model/UserInfo.java | 83 -
.../java/org/apache/airavata/iam/model/UserPK.java | 73 -
.../airavata/iam/model/UserPreferencesEntity.java | 85 --
.../airavata/iam/model/UserPreferencesPK.java | 64 -
.../airavata/iam/model/UserProfileEntity.java | 322 ----
.../iam/model/UserProfileRegistryException.java | 27 -
.../iam/repository/AbstractJDBCUserStore.java | 132 --
.../iam/repository/AbstractRepository.java | 161 --
.../iam/repository/AbstractSharingRepository.java | 177 ---
.../iam/repository/CommunityUserRepository.java | 33 -
.../airavata/iam/repository/DomainRepository.java | 34 -
.../airavata/iam/repository/EntityRepository.java | 195 ---
.../iam/repository/EntityTypeRepository.java | 35 -
.../iam/repository/GatewayGroupsRepository.java | 42 -
.../airavata/iam/repository/GatewayRepository.java | 155 --
.../iam/repository/GroupAdminRepository.java | 36 -
.../iam/repository/GroupMembershipRepository.java | 117 --
.../airavata/iam/repository/JDBCUserStore.java | 153 --
.../airavata/iam/repository/LDAPUserStore.java | 125 --
.../iam/repository/PermissionTypeRepository.java | 52 -
.../iam/repository/SessionDBUserStore.java | 126 --
.../airavata/iam/repository/SharingRepository.java | 121 --
.../iam/repository/UserGroupRepository.java | 106 --
.../iam/repository/UserPreferencesRepository.java | 29 -
.../iam/repository/UserProfileRepository.java | 122 --
.../airavata/iam/repository/UserRepository.java | 90 --
.../iam/service/AiravataSecurityManager.java | 54 -
.../airavata/iam/service/CommunityUserService.java | 50 -
.../iam/service/GatewayGroupsInitializer.java | 148 --
.../iam/service/GatewayRegistryHandler.java | 285 ----
.../iam/service/KeyCloakSecurityManager.java | 399 -----
.../iam/service/ResourceSharingService.java | 600 --------
.../iam/service/SecurityManagerFactory.java | 53 -
.../airavata/iam/service/SharedEntityService.java | 163 --
.../airavata/iam/service/SharingService.java | 1544 -------------------
.../iam/service/TenantManagementInterface.java | 229 ---
.../iam/service/TenantManagementKeycloakImpl.java | 804 ----------
.../iam/service/UserPreferencesService.java | 76 -
.../airavata/iam/util/AbstractAuthenticator.java | 143 --
.../iam/util/AbstractConfigurationReader.java | 52 -
.../iam/util/AbstractDatabaseAuthenticator.java | 130 --
.../iam/util/AiravataSecurityException.java | 42 -
.../airavata/iam/util/AuthenticationException.java | 38 -
.../apache/airavata/iam/util/Authenticator.java | 105 --
.../iam/util/AuthenticatorConfigurationReader.java | 239 ---
.../org/apache/airavata/iam/util/Authoriser.java | 40 -
.../airavata/iam/util/AuthorizationException.java | 36 -
.../org/apache/airavata/iam/util/AuthzCache.java | 59 -
.../apache/airavata/iam/util/AuthzCacheEntry.java | 62 -
.../apache/airavata/iam/util/AuthzCacheIndex.java | 91 --
.../airavata/iam/util/AuthzCacheManager.java | 77 -
.../iam/util/AuthzCacheManagerFactory.java | 56 -
.../airavata/iam/util/AuthzCachedStatus.java | 33 -
.../airavata/iam/util/ConnectionFactory.java | 65 -
.../org/apache/airavata/iam/util/DBConstants.java | 106 --
.../iam/util/DefaultAuthzCacheManager.java | 104 --
.../apache/airavata/iam/util/PasswordDigester.java | 105 --
.../apache/airavata/iam/util/QueryConstants.java | 31 -
.../apache/airavata/iam/util/SecurityCheck.java | 32 -
.../airavata/iam/util/SecurityInterceptor.java | 83 -
.../org/apache/airavata/iam/util/UserStore.java | 71 -
.../airavata/iam/util/UserStoreException.java | 42 -
.../src/main/proto/group_manager_service.proto | 267 ----
.../src/main/proto/iam_admin_service.proto | 223 ---
.../src/main/proto/sharing_service.proto | 1046 -------------
.../src/main/proto/user_profile_service.proto | 144 --
.../org/apache/airavata/iam/SetupNewGateway.java | 191 ---
.../iam/grpc/GroupManagerGrpcServiceTest.java | 169 --
.../iam/repository/GatewayRepositoryTest.java | 77 -
.../iam/service/ResourceSharingServiceTest.java | 452 ------
.../iam/service/SharedEntityServiceTest.java | 211 ---
.../airavata/iam/service/SharingServiceTest.java | 95 --
.../util/AuthenticatorConfigurationReaderTest.java | 102 --
.../airavata/iam/util/TestDBAuthenticator1.java | 52 -
.../airavata/iam/util/TestDBAuthenticator2.java | 54 -
.../airavata/iam/util/TestDBAuthenticator3.java | 52 -
.../apache/airavata/iam/util/TestUserStore.java | 42 -
.../src/test/resources/authenticators.xml | 88 --
.../src/test/resources/disabled-authenticator.xml | 84 -
airavata-api/orchestration-service/pom.xml | 200 ---
.../config/OrchestrationServiceConfig.java | 29 -
.../config/OrchestratorTaskBootstrap.java | 54 -
.../executor/OrchestratorExecutorRepository.java | 45 -
.../orchestration/executor/ProcessExecutor.java | 854 -----------
.../orchestration/grpc/GatewayGrpcService.java | 142 --
.../orchestration/grpc/ResourceGrpcService.java | 181 ---
.../infrastructure/AwsProvisioningAdapter.java | 80 -
.../infrastructure/ExecutionDataAccessImpl.java | 245 ---
.../orchestration/infrastructure/JobSubmitter.java | 54 -
.../infrastructure/ProvisioningAdapter.java | 39 -
.../infrastructure/ProvisioningAdapters.java | 42 -
.../infrastructure/SlurmProvisioningAdapter.java | 89 --
.../orchestration/mapper/ExecutionMapper.java | 474 ------
.../orchestration/model/ExecErrorEntity.java | 128 --
.../orchestration/model/ExecIoParamEntity.java | 273 ----
.../orchestration/model/ExecStatusEntity.java | 109 --
.../airavata/orchestration/model/JobEntity.java | 196 ---
.../apache/airavata/orchestration/model/JobPK.java | 71 -
.../orchestration/model/ProcessEntity.java | 349 -----
.../airavata/orchestration/model/TaskEntity.java | 182 ---
.../model/UserConfigurationDataEntity.java | 285 ----
.../repository/ExecErrorRepository.java | 153 --
.../repository/ExecIoParamRepository.java | 159 --
.../repository/ExecStatusRepository.java | 360 -----
.../orchestration/repository/JobRepository.java | 171 ---
.../repository/JobStatusRepository.java | 51 -
.../repository/ProcessErrorRepository.java | 46 -
.../repository/ProcessInputRepository.java | 47 -
.../repository/ProcessOutputRepository.java | 48 -
.../repository/ProcessRepository.java | 277 ----
.../repository/ProcessStatusRepository.java | 56 -
.../repository/TaskErrorRepository.java | 46 -
.../orchestration/repository/TaskRepository.java | 207 ---
.../repository/TaskStatusRepository.java | 45 -
.../scheduling/DefaultHostScheduler.java | 34 -
.../orchestration/scheduling/HostScheduler.java | 33 -
.../service/AbstractOrchestrator.java | 97 --
.../orchestration/service/AirvataFileService.java | 161 --
.../service/DbLaunchOrchestrator.java | 83 -
.../orchestration/service/GatewayService.java | 146 --
.../orchestration/service/LaunchOrchestrator.java | 34 -
.../orchestration/service/Orchestrator.java | 80 -
.../service/OrchestratorConfiguration.java | 48 -
.../orchestration/service/OrchestratorContext.java | 44 -
.../service/OrchestratorException.java | 40 -
.../service/RegistryServerHandler.java | 1051 -------------
.../orchestration/service/ResourceService.java | 585 -------
.../service/SimpleOrchestratorImpl.java | 862 -----------
.../task/ClusterStatusMonitorJob.java | 290 ----
.../task/ClusterStatusMonitorJobScheduler.java | 56 -
.../orchestration/task/CompletingTask.java | 64 -
.../orchestration/task/ComputeResourceMonitor.java | 125 --
.../task/ComputeResourceSelectionPolicy.java | 37 -
.../task/ComputeResourceSelectionPolicyImpl.java | 41 -
.../DefaultComputeResourceSelectionPolicy.java | 76 -
.../orchestration/task/JobFactoryHelper.java | 59 -
.../orchestration/task/JobStatusResult.java | 70 -
.../orchestration/task/JobVerificationTask.java | 127 --
.../orchestration/task/MonitorConstants.java | 34 -
.../orchestration/task/MonitoringException.java | 41 -
.../airavata/orchestration/task/MonitoringJob.java | 211 ---
.../task/MultipleComputeResourcePolicy.java | 85 --
.../airavata/orchestration/task/OutputParser.java | 32 -
.../orchestration/task/OutputParserImpl.java | 61 -
.../orchestration/util/ExperimentModelUtil.java | 109 --
.../orchestration/util/OrchestratorConstants.java | 33 -
.../orchestration/util/OrchestratorUtils.java | 187 ---
.../validation/BatchQueueValidator.java | 227 ---
.../validation/ExperimentStatusValidator.java | 54 -
.../validation/GroupResourceProfileValidator.java | 200 ---
.../validation/JobMetadataValidator.java | 43 -
.../orchestration/workflow/ProcessDataManager.java | 95 --
.../src/main/proto/gateway_service.proto | 135 --
.../integration/AbstractIntegrationTest.java | 56 -
.../repository/JobRepositoryTest.java | 154 --
.../repository/JobStatusRepositoryTest.java | 146 --
.../repository/ProcessErrorRepositoryTest.java | 112 --
.../repository/ProcessInputRepositoryTest.java | 121 --
.../repository/ProcessOutputRepositoryTest.java | 121 --
.../repository/ProcessRepositoryTest.java | 199 ---
.../repository/ProcessStatusRepositoryTest.java | 139 --
.../repository/TaskErrorRepositoryTest.java | 125 --
.../repository/TaskRepositoryTest.java | 146 --
.../repository/TaskStatusRepositoryTest.java | 125 --
.../service/AirvataFileServiceTest.java | 201 ---
.../orchestration/service/GatewayServiceTest.java | 157 --
.../orchestration/service/ResourceServiceTest.java | 363 -----
.../orchestration/util/ExperimentTestHelper.java | 113 --
.../orchestration/util/ProjectTestHelper.java | 67 -
.../util/SharedMariaDBLauncherSessionListener.java | 45 -
.../util/WorkspaceRepositoryTest.java | 175 ---
.../apache/airavata/util/DatabaseTestCases.java | 94 --
...junit.platform.launcher.LauncherSessionListener | 1 -
airavata-api/pom.xml | 335 ----
airavata-api/research-service/README.md | 34 -
airavata-api/research-service/pom.xml | 209 ---
.../research/config/ClusterApplicationConfig.java | 38 -
.../research/config/ResearchProperties.java | 55 -
.../research/config/ResearchServiceConfig.java | 31 -
.../grpc/ApplicationCatalogGrpcService.java | 564 -------
.../research/grpc/DataProductGrpcService.java | 159 --
.../research/grpc/ExperimentGrpcService.java | 505 ------
.../grpc/ExperimentManagementGrpcHandler.java | 120 --
.../research/grpc/ExperimentSetGrpcService.java | 114 --
.../research/grpc/NotificationGrpcService.java | 136 --
.../airavata/research/grpc/ParserGrpcService.java | 162 --
.../airavata/research/grpc/ProjectGrpcService.java | 198 ---
.../research/grpc/ResearchHubGrpcHandler.java | 66 -
.../research/grpc/ResearchProjectGrpcHandler.java | 112 --
.../research/grpc/ResearchResourceGrpcHandler.java | 329 ----
.../research/grpc/ResearchSessionGrpcHandler.java | 118 --
.../airavata/research/mapper/ResearchMapper.java | 755 ---------
.../airavata/research/model/AppIoParamEntity.java | 258 ----
.../model/ApplicationDeploymentEntity.java | 284 ----
.../research/model/ApplicationInterfaceEntity.java | 185 ---
.../research/model/ApplicationModuleEntity.java | 117 --
.../airavata/research/model/DataProductEntity.java | 178 ---
.../research/model/DataReplicaLocationEntity.java | 192 ---
.../research/model/DatasetResourceEntity.java | 45 -
.../airavata/research/model/ExperimentEntity.java | 254 ---
.../research/model/ExperimentErrorEntity.java | 130 --
.../airavata/research/model/ExperimentErrorPK.java | 71 -
.../research/model/ExperimentSetEntity.java | 140 --
.../research/model/ExperimentSetMemberEntity.java | 83 -
.../research/model/ExperimentStatusEntity.java | 108 --
.../research/model/ExperimentStatusPK.java | 71 -
.../research/model/ExperimentSummaryEntity.java | 176 ---
.../research/model/NotificationEntity.java | 126 --
.../airavata/research/model/ParserEntity.java | 125 --
.../research/model/ParsingTemplateEntity.java | 92 --
.../airavata/research/model/PrivacyEnum.java | 25 -
.../airavata/research/model/ProjectEntity.java | 102 --
.../research/model/RepositoryResourceEntity.java | 45 -
.../research/model/ResearchIoParamEntity.java | 274 ----
.../research/model/ResearchProjectEntity.java | 150 --
.../airavata/research/model/ResourceEntity.java | 177 ---
.../research/model/ResourceStarEntity.java | 78 -
.../airavata/research/model/ResourceTypeEnum.java | 37 -
.../airavata/research/model/SessionEntity.java | 135 --
.../airavata/research/model/SessionStatusEnum.java | 38 -
.../apache/airavata/research/model/StateEnum.java | 25 -
.../apache/airavata/research/model/TagEntity.java | 60 -
.../ApplicationDeploymentRepository.java | 266 ----
.../repository/ApplicationInputRepository.java | 44 -
.../repository/ApplicationInterfaceRepository.java | 328 ----
.../repository/ApplicationModuleRepository.java | 45 -
.../repository/ApplicationOutputRepository.java | 44 -
.../research/repository/DataProductRepository.java | 218 ---
.../repository/DataReplicaLocationRepository.java | 134 --
.../repository/ExperimentErrorRepository.java | 88 --
.../research/repository/ExperimentRepository.java | 266 ----
.../repository/ExperimentSetRepository.java | 31 -
.../repository/ExperimentStatusRepository.java | 145 --
.../repository/ExperimentSummaryRepository.java | 523 -------
.../repository/NotificationRepository.java | 114 --
.../research/repository/ParserInputRepository.java | 62 -
.../repository/ParserOutputRepository.java | 62 -
.../research/repository/ParserRepository.java | 75 -
.../repository/ParsingTemplateRepository.java | 61 -
.../research/repository/ProjectRepository.java | 220 ---
.../repository/ResearchIoParamRepository.java | 139 --
.../repository/ResearchProjectRepository.java | 46 -
.../research/repository/ResourceRepository.java | 122 --
.../repository/ResourceStarRepository.java | 39 -
.../research/repository/SessionRepository.java | 44 -
.../research/repository/TagRepository.java | 40 -
.../research/service/AgentExperimentService.java | 120 --
.../research/service/AgentManagementService.java | 341 -----
.../airavata/research/service/AiravataService.java | 47 -
.../research/service/AppCatalogDataAccessImpl.java | 267 ----
.../service/AppCatalogRegistryService.java | 516 -------
.../service/ApplicationCatalogService.java | 733 ---------
.../service/ExperimentRegistryService.java | 913 -----------
.../research/service/ExperimentService.java | 1611 --------------------
.../research/service/ExperimentSetService.java | 381 -----
.../research/service/NotificationService.java | 137 --
.../airavata/research/service/ParserService.java | 143 --
.../research/service/ProjectRegistryService.java | 266 ----
.../airavata/research/service/ProjectService.java | 389 -----
.../research/service/ResearchHubService.java | 152 --
.../research/service/ResearchProjectService.java | 141 --
.../research/service/ResearchResourceService.java | 348 -----
.../airavata/research/service/SessionService.java | 119 --
.../airavata/research/service/SweepExpander.java | 79 -
.../main/proto/application_catalog_service.proto | 480 ------
.../src/main/proto/data_product_service.proto | 152 --
.../main/proto/experiment_management_service.proto | 121 --
.../src/main/proto/experiment_service.proto | 492 ------
.../src/main/proto/experiment_set_service.proto | 70 -
.../src/main/proto/notification_service.proto | 126 --
.../src/main/proto/parser_service.proto | 156 --
.../src/main/proto/project_service.proto | 170 ---
.../src/main/proto/research-service.proto | 338 ----
.../ExperimentRepositoryIntegrationTest.java | 233 ---
.../repository/ExperimentErrorRepositoryTest.java | 102 --
.../repository/ExperimentRepositoryTest.java | 356 -----
.../repository/ExperimentSetRepositoryTest.java | 143 --
.../repository/ExperimentStatusRepositoryTest.java | 127 --
.../ExperimentSummaryRepositoryTest.java | 372 -----
.../repository/NotificationRepositoryTest.java | 71 -
.../research/repository/ProjectRepositoryTest.java | 104 --
.../repository/ResearchIoParamRepositoryTest.java | 168 --
.../service/ApplicationCatalogServiceTest.java | 511 -------
.../service/ExperimentServiceFromSpecTest.java | 251 ---
.../service/ExperimentServiceLaunchPrepTest.java | 408 -----
.../research/service/ExperimentServiceTest.java | 498 ------
.../service/ExperimentSetIntegrationTest.java | 216 ---
.../service/ExperimentSetServiceStatusTest.java | 450 ------
.../research/service/ExperimentSetServiceTest.java | 195 ---
.../research/service/NotificationServiceTest.java | 171 ---
.../research/service/ParserServiceTest.java | 144 --
.../research/service/ProjectServiceTest.java | 324 ----
.../research/service/SweepExpanderTest.java | 50 -
.../research/util/ExperimentTestHelper.java | 108 --
.../airavata/research/util/ProjectTestHelper.java | 78 -
.../util/SharedMariaDBLauncherSessionListener.java | 43 -
...junit.platform.launcher.LauncherSessionListener | 1 -
.../org/apache/airavata/BuildConstant.java | 24 -
.../airavata/config/AiravataServerProperties.java | 40 -
.../airavata/config/ApplicationSettings.java | 330 ----
.../airavata/config/ConditionalOnServer.java | 31 -
.../java/org/apache/airavata/config/Constants.java | 57 -
.../org/apache/airavata/config/ExecutionMode.java | 26 -
.../apache/airavata/config/OnServerCondition.java | 38 -
.../org/apache/airavata/config/RequestContext.java | 81 -
.../org/apache/airavata/config/ServerSettings.java | 247 ---
.../org/apache/airavata/config/UserContext.java | 81 -
.../org/apache/airavata/config/WSConstants.java | 181 ---
.../org/apache/airavata/db/AbstractRepository.java | 294 ----
.../org/apache/airavata/db/AppCatalogUtils.java | 29 -
.../java/org/apache/airavata/db/Committer.java | 26 -
.../java/org/apache/airavata/db/DBConstants.java | 208 ---
.../main/java/org/apache/airavata/db/DBUtil.java | 344 -----
.../airavata/db/EntityManagerFactoryHolder.java | 60 -
.../airavata/db/EntityManagerFactoryRegistrar.java | 49 -
.../java/org/apache/airavata/db/JDBCConfig.java | 32 -
.../org/apache/airavata/db/JsonListConverter.java | 52 -
.../org/apache/airavata/db/JsonMapConverter.java | 51 -
.../org/apache/airavata/db/QueryConstants.java | 282 ----
.../apache/airavata/db/SpringSettingsBridge.java | 48 -
.../exception/AiravataConfigurationException.java | 34 -
.../airavata/exception/AiravataException.java | 35 -
.../exception/AiravataStartupException.java | 45 -
.../exception/ApplicationSettingsException.java | 33 -
.../exception/IamAdminServicesException.java | 43 -
.../exception/ServiceAuthorizationException.java | 30 -
.../airavata/exception/ServiceException.java | 30 -
.../exception/ServiceNotFoundException.java | 30 -
.../apache/airavata/grpc/GrpcRequestContext.java | 44 -
.../org/apache/airavata/grpc/GrpcStatusMapper.java | 51 -
.../apache/airavata/interfaces/AgentAdaptor.java | 67 -
.../apache/airavata/interfaces/AgentException.java | 46 -
.../org/apache/airavata/interfaces/AppCatalog.java | 60 -
.../airavata/interfaces/AppCatalogDataAccess.java | 130 --
.../airavata/interfaces/AppCatalogException.java | 36 -
.../airavata/interfaces/AppCatalogRegistry.java | 125 --
.../airavata/interfaces/ApplicationDeployment.java | 106 --
.../airavata/interfaces/ApplicationInterface.java | 158 --
.../apache/airavata/interfaces/CommandOutput.java | 32 -
.../airavata/interfaces/CommunityUserProvider.java | 37 -
.../airavata/interfaces/CompositeIdentifier.java | 68 -
.../airavata/interfaces/ComputeRegistry.java | 33 -
.../airavata/interfaces/ComputeResource.java | 100 --
.../interfaces/ComputeResourceProvider.java | 83 -
.../apache/airavata/interfaces/ConfigParam.java | 88 --
.../org/apache/airavata/interfaces/Constants.java | 88 --
.../airavata/interfaces/CredentialProvider.java | 72 -
.../airavata/interfaces/DataProductInterface.java | 51 -
.../interfaces/DataReplicaLocationInterface.java | 36 -
.../airavata/interfaces/ExecutionDataAccess.java | 108 --
.../airavata/interfaces/ExpCatChildDataType.java | 39 -
.../interfaces/ExperimentCatalogException.java | 36 -
.../airavata/interfaces/ExperimentRegistry.java | 151 --
.../airavata/interfaces/ExperimentStoragePrep.java | 51 -
.../apache/airavata/interfaces/FileMetadata.java | 80 -
.../interfaces/GatewayExistenceProvider.java | 36 -
.../airavata/interfaces/GatewayGroupsProvider.java | 30 -
.../airavata/interfaces/GatewayRegistry.java | 60 -
.../GatewayStoragePreferenceProvider.java | 44 -
.../GroupComputeResourcePreferenceUtil.java | 61 -
.../interfaces/GroupResourceProfileProvider.java | 37 -
.../airavata/interfaces/GwyClientCredential.java | 33 -
.../airavata/interfaces/GwyResourceProfile.java | 84 -
.../airavata/interfaces/InvalidSetupException.java | 41 -
.../interfaces/InvalidUsernameException.java | 41 -
.../interfaces/JobManagerConfiguration.java | 59 -
.../apache/airavata/interfaces/OutputParser.java | 54 -
.../airavata/interfaces/ProjectRegistry.java | 63 -
.../airavata/interfaces/QueueStatusRegistry.java | 35 -
.../apache/airavata/interfaces/RawCommandInfo.java | 44 -
.../airavata/interfaces/RegistryException.java | 36 -
.../airavata/interfaces/RegistryHandler.java | 39 -
.../airavata/interfaces/RegistryProvider.java | 52 -
.../interfaces/ReplicaCatalogException.java | 35 -
.../interfaces/ResourceProfileRegistry.java | 169 --
.../airavata/interfaces/ResultOrderType.java | 48 -
.../airavata/interfaces/SSHAccountProvisioner.java | 85 --
.../interfaces/SSHAccountProvisionerFactory.java | 60 -
.../interfaces/SSHAccountProvisionerProvider.java | 66 -
.../airavata/interfaces/SSHConnectionService.java | 229 ---
.../apache/airavata/interfaces/SharingFacade.java | 96 --
.../airavata/interfaces/SharingProvider.java | 42 -
.../org/apache/airavata/interfaces/StatusType.java | 29 -
.../airavata/interfaces/StorageProvider.java | 205 ---
.../airavata/interfaces/StorageRegistry.java | 58 -
.../airavata/interfaces/StorageResource.java | 92 --
.../interfaces/StorageResourceAdaptor.java | 61 -
.../interfaces/UsageReportingProvider.java | 37 -
.../airavata/interfaces/UserProfileProvider.java | 38 -
.../airavata/interfaces/UsrResourceProfile.java | 121 --
.../org/apache/airavata/logging/Exception.java | 64 -
.../org/apache/airavata/logging/MDCConstants.java | 28 -
.../java/org/apache/airavata/logging/MDCUtil.java | 47 -
.../airavata/mapper/CommonMapperConversions.java | 83 -
.../org/apache/airavata/server/CountMonitor.java | 67 -
.../server/DefaultKeyStorePasswordCallback.java | 51 -
.../org/apache/airavata/server/GaugeMonitor.java | 49 -
.../airavata/server/KeyStorePasswordCallback.java | 49 -
.../org/apache/airavata/task/AbstractTask.java | 99 --
.../org/apache/airavata/task/AdaptorSupport.java | 42 -
.../apache/airavata/task/AdaptorSupportImpl.java | 221 ---
.../java/org/apache/airavata/task/AgentStore.java | 116 --
.../org/apache/airavata/task/AiravataTask.java | 567 -------
.../main/java/org/apache/airavata/task/DbTask.java | 35 -
.../org/apache/airavata/task/DbTaskResult.java | 70 -
.../org/apache/airavata/task/SchedulerUtils.java | 72 -
.../apache/airavata/task/SubTaskModelDecoder.java | 48 -
.../java/org/apache/airavata/task/TaskContext.java | 970 ------------
.../java/org/apache/airavata/task/TaskDef.java | 31 -
.../java/org/apache/airavata/task/TaskHelper.java | 24 -
.../org/apache/airavata/task/TaskHelperImpl.java | 27 -
.../apache/airavata/task/TaskOnFailException.java | 46 -
.../java/org/apache/airavata/task/TaskParam.java | 35 -
.../org/apache/airavata/task/TaskParamType.java | 27 -
.../java/org/apache/airavata/task/TaskUtil.java | 100 --
.../java/org/apache/airavata/util/AdminAccess.java | 47 -
.../org/apache/airavata/util/AiravataUtils.java | 65 -
.../org/apache/airavata/util/ExpCatalogUtils.java | 29 -
.../main/java/org/apache/airavata/util/IOUtil.java | 206 ---
.../java/org/apache/airavata/util/JSONUtil.java | 143 --
.../org/apache/airavata/util/NameValidator.java | 43 -
.../main/java/org/apache/airavata/util/Pair.java | 76 -
.../org/apache/airavata/util/SecurityUtil.java | 103 --
.../org/apache/airavata/util/SharingHelper.java | 109 --
.../java/org/apache/airavata/util/StringUtil.java | 336 ----
.../java/org/apache/airavata/util/Version.java | 123 --
.../apache/airavata/util/WorkflowCatalogUtils.java | 29 -
.../accountprovisioning/account_provisioning.proto | 43 -
.../appcatalog/appdeployment/app_deployment.proto | 103 --
.../appcatalog/appinterface/app_interface.proto | 52 -
.../computeresource/compute_resource.proto | 146 --
.../appcatalog/gatewaygroups/gateway_groups.proto | 30 -
.../gatewayprofile/gateway_profile.proto | 59 -
.../group_resource_profile.proto | 111 --
.../airavata/model/appcatalog/parser/parser.proto | 88 --
.../storageresource/storage_resource.proto | 78 -
.../user_resource_profile.proto | 54 -
.../model/application/io/application_io.proto | 90 --
.../apache/airavata/model/commons/commons.proto | 55 -
.../model/credential/store/credential_store.proto | 90 --
.../model/data/movement/data_movement.proto | 30 -
.../model/data/replica/replica_catalog.proto | 73 -
.../apache/airavata/model/dbevent/db_event.proto | 84 -
.../org/apache/airavata/model/error/errors.proto | 132 --
.../airavata/model/experiment/experiment.proto | 153 --
.../airavata/model/group/group_manager.proto | 51 -
.../proto/org/apache/airavata/model/job/job.proto | 40 -
.../airavata/model/parallelism/parallelism.proto | 41 -
.../apache/airavata/model/process/process.proto | 64 -
.../airavata/model/scheduling/scheduling.proto | 39 -
.../apache/airavata/model/security/security.proto | 32 -
.../apache/airavata/model/sharing/sharing.proto | 253 ---
.../org/apache/airavata/model/status/status.proto | 122 --
.../org/apache/airavata/model/task/task.proto | 109 --
.../airavata/model/tenant/tenant_profile.proto | 63 -
.../apache/airavata/model/user/user_profile.proto | 137 --
.../apache/airavata/model/workflow/workflow.proto | 162 --
.../airavata/model/workspace/workspace.proto | 111 --
.../apache/airavata/config/RequestContextTest.java | 43 -
.../SSHAccountProvisionerFactoryTest.java | 91 --
.../interfaces/TestSSHAccountProvisioner.java | 66 -
.../TestSSHAccountProvisionerProvider.java | 75 -
.../airavata/util/ApplicationSettingsTest.java | 40 -
.../org/apache/airavata/util/GrpcTestBase.java | 64 -
.../org/apache/airavata/util/SecurityUtilTest.java | 112 --
.../org/apache/airavata/util/SharedMariaDB.java | 89 --
.../apache/airavata/util/SharingHelperTest.java | 191 ---
.../java/org/apache/airavata/util/TestBase.java | 68 -
.../src/test/resources/META-INF/persistence.xml | 126 --
airavata-api/src/test/resources/airavata.sym.p12 | Bin 3047 -> 0 bytes
.../src/test/resources/application.properties | 34 -
.../src/test/resources/credential-store/client.xml | 6 -
.../db/migration/airavata/V1__Baseline_schema.sql | 973 ------------
airavata-api/src/test/resources/logback-test.xml | 48 -
.../src/test/resources/testcontainers.properties | 1 -
airavata-api/storage-service/pom.xml | 129 --
.../storage/ExperimentStoragePrepImpl.java | 131 --
.../airavata/storage/StoragePathResolver.java | 135 --
.../airavata/storage/StorageProviderImpl.java | 155 --
.../storage/config/StorageConfiguration.java | 36 -
.../storage/config/StorageServiceConfig.java | 29 -
.../storage/grpc/UserStorageGrpcService.java | 483 ------
.../airavata/storage/mapper/StorageMapper.java | 58 -
.../airavata/storage/model/AiravataDirectory.java | 84 -
.../airavata/storage/model/AiravataFile.java | 74 -
.../airavata/storage/model/ConfigurationPK.java | 71 -
.../storage/model/StoragePreferenceEntity.java | 92 --
.../storage/model/StoragePreferencePK.java | 71 -
.../storage/model/StorageResourceEntity.java | 113 --
.../storage/repository/StoragePrefRepository.java | 92 --
.../repository/StorageResourceRepository.java | 213 ---
.../storage/service/StorageRegistryService.java | 227 ---
.../apache/airavata/storage/task/ArchiveTask.java | 208 ---
.../airavata/storage/task/DataStagingTask.java | 520 -------
.../storage/task/InputDataStagingTask.java | 123 --
.../storage/task/OutputDataStagingTask.java | 384 -----
.../airavata/storage/util/TransferResult.java | 66 -
.../airavata/storage/util/VirtualInputStream.java | 94 --
.../airavata/storage/util/VirtualOutputStream.java | 54 -
.../storage/util/VirtualStreamProducer.java | 45 -
.../src/main/proto/file_service.proto | 251 ---
.../airavata/storage/StoragePathResolverTest.java | 127 --
airavata-server/pom.xml | 217 ---
.../src/main/assembly/server-bin-assembly.xml | 61 -
.../apache/airavata/server/AiravataServerMain.java | 40 -
.../server/config/ServiceWiringConfig.java | 41 -
.../airavata/server/file/FileController.java | 127 --
.../server/grpc/AiravataArmeriaConfig.java | 115 --
.../server/grpc/config/AuthTokenExtractor.java | 62 -
.../server/grpc/config/GrpcAuthInterceptor.java | 85 --
.../server/grpc/config/GrpcLoggingInterceptor.java | 87 --
.../server/grpc/config/HttpAuthDecorator.java | 60 -
.../airavata/server/grpc/config/JwtVerifier.java | 141 --
.../grpc/config/TokenVerificationException.java | 32 -
.../airavata/server/grpc/config/VerifiedToken.java | 29 -
.../server/grpc/services/IamAdminGrpcService.java | 267 ----
.../grpc/services/UserProfileGrpcService.java | 166 --
airavata-server/src/main/resources/README.md | 40 -
.../src/main/resources/application.properties | 111 --
airavata-server/src/main/resources/bin/airavata.sh | 8 -
.../src/main/resources/db/create-database.sql | 40 -
.../db/migration/airavata/V1__Baseline_schema.sql | 973 ------------
airavata-server/src/main/resources/logback.xml | 35 -
.../main/resources/templates/CLOUD_Groovy.template | 33 -
.../main/resources/templates/FORK_Groovy.template | 13 -
.../resources/templates/HTCONDOR_Groovy.template | 33 -
.../main/resources/templates/LSF_Groovy.template | 30 -
.../main/resources/templates/PBS_Groovy.template | 35 -
.../main/resources/templates/SLURM_Groovy.template | 56 -
.../main/resources/templates/UGE_Groovy.template | 31 -
.../airavata/server/file/FileControllerTest.java | 118 --
.../server/grpc/config/JwtVerifierTest.java | 74 -
715 files changed, 104390 deletions(-)
diff --git a/airavata-api/agent-service/.gitignore b/airavata-api/agent-service/.gitignore
deleted file mode 100644
index c41cc9e35e..0000000000
--- a/airavata-api/agent-service/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
\ No newline at end of file
diff --git a/airavata-api/agent-service/pom.xml b/airavata-api/agent-service/pom.xml
deleted file mode 100644
index 800256a0d1..0000000000
--- a/airavata-api/agent-service/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata</artifactId>
- <version>0.21-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <artifactId>agent-service</artifactId>
- <name>Airavata Agent Service</name>
-
- <dependencies>
- <dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-stub</artifactId>
- </dependency>
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-protobuf</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.api.grpc</groupId>
- <artifactId>proto-google-common-protos</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java-util</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>io.github.ascopes</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <configuration>
- <protocVersion>4.29.5</protocVersion>
- <sourceDirectories>
- <sourceDirectory>${project.basedir}/src/main/proto</sourceDirectory>
- </sourceDirectories>
- <binaryMavenPlugins>
- <binaryMavenPlugin>
- <groupId>io.grpc</groupId>
- <artifactId>protoc-gen-grpc-java</artifactId>
- <version>1.73.0</version>
- <options>@generated=omit</options>
- </binaryMavenPlugin>
- </binaryMavenPlugins>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- <phase>generate-sources</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <release>25</release>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- </plugin>
- </plugins>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- </resource>
- <resource>
- <directory>${project.parent.basedir}/conf/keystores</directory>
- <targetPath>keystores</targetPath>
- <includes>
- <include>airavata.p12</include>
- </includes>
- </resource>
- </resources>
- </build>
-
-</project>
\ No newline at end of file
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/config/AgentProperties.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/config/AgentProperties.java
deleted file mode 100644
index a8ea45cb7e..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/config/AgentProperties.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.config;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-@Component
-@ConfigurationProperties(prefix = "airavata.agent")
-public class AgentProperties {
- private String storageResourceId;
- private String storagePath;
- private Tunnel tunnel = new Tunnel();
-
- public String getStorageResourceId() {
- return storageResourceId;
- }
-
- public void setStorageResourceId(String s) {
- this.storageResourceId = s;
- }
-
- public String getStoragePath() {
- return storagePath;
- }
-
- public void setStoragePath(String s) {
- this.storagePath = s;
- }
-
- public Tunnel getTunnel() {
- return tunnel;
- }
-
- public void setTunnel(Tunnel t) {
- this.tunnel = t;
- }
-
- public static class Tunnel {
- private String serverHost;
- private int serverPort;
- private String serverToken;
- private String serverApiUrl;
-
- public String getServerHost() {
- return serverHost;
- }
-
- public void setServerHost(String s) {
- this.serverHost = s;
- }
-
- public int getServerPort() {
- return serverPort;
- }
-
- public void setServerPort(int p) {
- this.serverPort = p;
- }
-
- public String getServerToken() {
- return serverToken;
- }
-
- public void setServerToken(String s) {
- this.serverToken = s;
- }
-
- public String getServerApiUrl() {
- return serverApiUrl;
- }
-
- public void setServerApiUrl(String s) {
- this.serverApiUrl = s;
- }
- }
-}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/config/AgentServiceConfig.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/config/AgentServiceConfig.java
deleted file mode 100644
index 20d782b982..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/config/AgentServiceConfig.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.config;
-
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@ComponentScan(basePackages = "org.apache.airavata.agent")
-@EntityScan(basePackages = "org.apache.airavata.agent")
-public class AgentServiceConfig {}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/AgentConnectionHandler.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/AgentConnectionHandler.java
deleted file mode 100644
index bae9a9ac9b..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/AgentConnectionHandler.java
+++ /dev/null
@@ -1,672 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.grpc;
-
-import io.grpc.stub.StreamObserver;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.stream.Collectors;
-import org.apache.airavata.agent.*;
-import org.apache.airavata.agent.config.AgentProperties;
-import org.apache.airavata.agent.service.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class AgentConnectionHandler extends AgentCommunicationServiceGrpc.AgentCommunicationServiceImplBase {
-
- private static final Logger logger = LoggerFactory.getLogger(AgentConnectionHandler.class);
-
- private final AgentProperties agentProperties;
-
- // <streamId, StreamObserver>
- private final Map<String, StreamObserver<ServerMessage>> ACTIVE_STREAMS = new ConcurrentHashMap<>();
-
- // <agentId, streamId>
- private final Map<String, String> AGENT_STREAM_MAPPING = new ConcurrentHashMap<>();
-
- private final Map<String, EnvSetupResponse> ENV_SETUP_RESPONSE_CACHE = new ConcurrentHashMap<>();
- private final Map<String, CommandExecutionResponse> COMMAND_EXECUTION_RESPONSE_CACHE = new ConcurrentHashMap<>();
- private final Map<String, AsyncCommandExecutionResponse> ASYNC_COMMAND_EXECUTION_RESPONSE_CACHE =
- new ConcurrentHashMap<>();
- private final Map<String, AsyncCommandListResponse> ASYNC_COMMAND_LIST_RESPONSE_CACHE = new ConcurrentHashMap<>();
- private final Map<String, AsyncCommandTerminateResponse> ASYNC_COMMAND_TERMINATE_RESPONSE_CACHE =
- new ConcurrentHashMap<>();
- private final Map<String, JupyterExecutionResponse> JUPYTER_EXECUTION_RESPONSE_CACHE = new ConcurrentHashMap<>();
- private final Map<String, KernelRestartResponse> KERNEL_RESTART_RESPONSE_CACHE = new ConcurrentHashMap<>();
- private final Map<String, PythonExecutionResponse> PYTHON_EXECUTION_RESPONSE_CACHE = new ConcurrentHashMap<>();
- private final Map<String, TunnelCreationResponse> TUNNEL_CREATION_RESPONSE_CACHE = new ConcurrentHashMap<>();
-
- public AgentConnectionHandler(AgentProperties agentProperties) {
- this.agentProperties = agentProperties;
- }
-
- // response handling
- public AgentInfoResponse isAgentUp(String agentId) {
- boolean up = AGENT_STREAM_MAPPING.containsKey(agentId)
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(agentId));
- return AgentInfoResponse.newBuilder()
- .setAgentId(agentId)
- .setIsAgentUp(up)
- .build();
- }
-
- public AgentEnvSetupResponse getEnvSetupResponse(String executionId) {
- if (ENV_SETUP_RESPONSE_CACHE.containsKey(executionId)) {
- AgentEnvSetupResponse response = AgentEnvSetupResponse.newBuilder()
- .setStatus(ENV_SETUP_RESPONSE_CACHE.get(executionId).getStatus())
- .setExecutionId(executionId)
- .setSetup(true)
- .build();
- ENV_SETUP_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentEnvSetupResponse.newBuilder().setSetup(false).build();
- }
- }
-
- public AgentCommandExecutionResponse getCommandExecutionResponse(String executionId) {
- if (COMMAND_EXECUTION_RESPONSE_CACHE.containsKey(executionId)) {
- AgentCommandExecutionResponse response = AgentCommandExecutionResponse.newBuilder()
- .setResponseString(
- COMMAND_EXECUTION_RESPONSE_CACHE.get(executionId).getResponseString())
- .setExecutionId(executionId)
- .setExecuted(true)
- .build();
- COMMAND_EXECUTION_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentCommandExecutionResponse.newBuilder().setExecuted(false).build();
- }
- }
-
- public AgentAsyncCommandExecutionResponse getAsyncCommandExecutionResponse(String executionId) {
- if (ASYNC_COMMAND_EXECUTION_RESPONSE_CACHE.containsKey(executionId)) {
- AsyncCommandExecutionResponse cached = ASYNC_COMMAND_EXECUTION_RESPONSE_CACHE.get(executionId);
- AgentAsyncCommandExecutionResponse response = AgentAsyncCommandExecutionResponse.newBuilder()
- .setProcessId(cached.getProcessId())
- .setExecutionId(executionId)
- .setErrorMessage(cached.getErrorMessage())
- .build();
- ASYNC_COMMAND_EXECUTION_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentAsyncCommandExecutionResponse.newBuilder()
- .setErrorMessage("Not Ready")
- .setProcessId(-1)
- .build();
- }
- }
-
- public AgentAsyncCommandListResponse getAsyncCommandListResponse(String executionId) {
- if (ASYNC_COMMAND_LIST_RESPONSE_CACHE.containsKey(executionId)) {
- AsyncCommandListResponse cached = ASYNC_COMMAND_LIST_RESPONSE_CACHE.get(executionId);
- AgentAsyncCommandListResponse response = AgentAsyncCommandListResponse.newBuilder()
- .setExecutionId(executionId)
- .addAllCommands(cached.getCommandsList().stream()
- .map(c -> AgentAsyncCommand.newBuilder()
- .setProcessId(c.getProcessId())
- .addAllArguments(c.getArgumentsList())
- .build())
- .collect(Collectors.toList()))
- .build();
- ASYNC_COMMAND_LIST_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentAsyncCommandListResponse.newBuilder()
- .setError("Not Ready")
- .build();
- }
- }
-
- public AgentAsyncCommandTerminateResponse getAsyncCommandTerminateResponse(String executionId) {
- if (ASYNC_COMMAND_TERMINATE_RESPONSE_CACHE.containsKey(executionId)) {
- AsyncCommandTerminateResponse cached = ASYNC_COMMAND_TERMINATE_RESPONSE_CACHE.get(executionId);
- AgentAsyncCommandTerminateResponse response = AgentAsyncCommandTerminateResponse.newBuilder()
- .setExecutionId(executionId)
- .setStatus(cached.getStatus())
- .build();
- ASYNC_COMMAND_TERMINATE_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentAsyncCommandTerminateResponse.newBuilder()
- .setStatus("Not Ready")
- .build();
- }
- }
-
- public AgentJupyterExecutionResponse getJupyterExecutionResponse(String executionId) {
- if (JUPYTER_EXECUTION_RESPONSE_CACHE.containsKey(executionId)) {
- AgentJupyterExecutionResponse response = AgentJupyterExecutionResponse.newBuilder()
- .setResponseString(
- JUPYTER_EXECUTION_RESPONSE_CACHE.get(executionId).getResponseString())
- .setExecutionId(executionId)
- .setExecuted(true)
- .build();
- JUPYTER_EXECUTION_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentJupyterExecutionResponse.newBuilder().setExecuted(false).build();
- }
- }
-
- public AgentKernelRestartResponse getKernelRestartResponse(String executionId) {
- if (KERNEL_RESTART_RESPONSE_CACHE.containsKey(executionId)) {
- AgentKernelRestartResponse response = AgentKernelRestartResponse.newBuilder()
- .setStatus(KERNEL_RESTART_RESPONSE_CACHE.get(executionId).getStatus())
- .setExecutionId(executionId)
- .setRestarted(true)
- .build();
- KERNEL_RESTART_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentKernelRestartResponse.newBuilder().setRestarted(false).build();
- }
- }
-
- public AgentPythonExecutionResponse getPythonExecutionResponse(String executionId) {
- if (PYTHON_EXECUTION_RESPONSE_CACHE.containsKey(executionId)) {
- AgentPythonExecutionResponse response = AgentPythonExecutionResponse.newBuilder()
- .setExecutionId(executionId)
- .setExecuted(true)
- .setResponseString(
- PYTHON_EXECUTION_RESPONSE_CACHE.get(executionId).getResponseString())
- .build();
- PYTHON_EXECUTION_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentPythonExecutionResponse.newBuilder().setExecuted(false).build();
- }
- }
-
- // request handling
- public AgentExecutionAck runEnvSetupOnAgent(AgentEnvSetupRequest envSetupRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- Optional<StreamObserver<ServerMessage>> agentStreamObserver =
- getAgentStreamObserver(envSetupRequest.getAgentId());
- if (agentStreamObserver.isPresent()) {
- try {
- logger.info("Running an env setup on agent {}", envSetupRequest.getAgentId());
- agentStreamObserver
- .get()
- .onNext(ServerMessage.newBuilder()
- .setEnvSetupRequest(org.apache.airavata.agent.EnvSetupRequest.newBuilder()
- .setExecutionId(executionId)
- .setEnvName(envSetupRequest.getEnvName())
- .addAllLibraries(envSetupRequest.getLibrariesList())
- .addAllPip(envSetupRequest.getPipList())
- .build())
- .build());
-
- } catch (Exception e) {
- logger.error(
- "Failed to submit env setup request {} on agent {}",
- executionId,
- envSetupRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the env setup on agent {}", envSetupRequest.getAgentId());
- ackBuilder.setError("No agent found to run the env setup on agent " + envSetupRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentExecutionAck runCommandOnAgent(AgentCommandExecutionRequest commandRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- if (AGENT_STREAM_MAPPING.containsKey(commandRequest.getAgentId())
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(commandRequest.getAgentId()))) {
- String streamId = AGENT_STREAM_MAPPING.get(commandRequest.getAgentId());
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(streamId);
- try {
- logger.info("Running a command on agent {}", commandRequest.getAgentId());
- streamObserver.onNext(ServerMessage.newBuilder()
- .setCommandExecutionRequest(CommandExecutionRequest.newBuilder()
- .setExecutionId(executionId)
- .setEnvName(commandRequest.getEnvName())
- .setWorkingDir(commandRequest.getWorkingDir())
- .addAllArguments(commandRequest.getArgumentsList())
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "Failed to submit command execution request {} on agent {}",
- executionId,
- commandRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the command on agent {}", commandRequest.getAgentId());
- ackBuilder.setError("No agent found to run the command on agent " + commandRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentExecutionAck runAsyncCommandOnAgent(AgentAsyncCommandExecutionRequest commandRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- if (AGENT_STREAM_MAPPING.containsKey(commandRequest.getAgentId())
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(commandRequest.getAgentId()))) {
- String streamId = AGENT_STREAM_MAPPING.get(commandRequest.getAgentId());
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(streamId);
- try {
- logger.info("Running an async command on agent {}", commandRequest.getAgentId());
- streamObserver.onNext(ServerMessage.newBuilder()
- .setAsyncCommandExecutionRequest(AsyncCommandExecutionRequest.newBuilder()
- .setExecutionId(executionId)
- .setEnvName(commandRequest.getEnvName())
- .setWorkingDir(commandRequest.getWorkingDir())
- .addAllArguments(commandRequest.getArgumentsList())
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "Failed to submit async command execution request {} on agent {}",
- executionId,
- commandRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the async command on agent {}", commandRequest.getAgentId());
- ackBuilder.setError("No agent found to run the async command on agent " + commandRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentExecutionAck runAsyncCommandListOnAgent(AgentAsyncCommandListRequest commandRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- if (AGENT_STREAM_MAPPING.containsKey(commandRequest.getAgentId())
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(commandRequest.getAgentId()))) {
- String streamId = AGENT_STREAM_MAPPING.get(commandRequest.getAgentId());
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(streamId);
- try {
- logger.info("Running an async command list on agent {}", commandRequest.getAgentId());
- streamObserver.onNext(ServerMessage.newBuilder()
- .setAsyncCommandListRequest(AsyncCommandListRequest.newBuilder()
- .setExecutionId(executionId)
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "Failed to submit async command list execution request {} on agent {}",
- executionId,
- commandRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the async command list on agent {}", commandRequest.getAgentId());
- ackBuilder.setError("No agent found to run the async command list on agent " + commandRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentExecutionAck runAsyncCommandTerminateOnAgent(AgentAsyncCommandTerminateRequest commandRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- if (AGENT_STREAM_MAPPING.containsKey(commandRequest.getAgentId())
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(commandRequest.getAgentId()))) {
- String streamId = AGENT_STREAM_MAPPING.get(commandRequest.getAgentId());
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(streamId);
- try {
- logger.info("Running an async command terminate on agent {}", commandRequest.getAgentId());
- streamObserver.onNext(ServerMessage.newBuilder()
- .setAsyncCommandTerminateRequest(AsyncCommandTerminateRequest.newBuilder()
- .setExecutionId(executionId)
- .setProcessId(commandRequest.getProcessId())
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "Failed to submit async command terminate execution request {} on agent {}",
- executionId,
- commandRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the async command terminate on agent {}", commandRequest.getAgentId());
- ackBuilder.setError(
- "No agent found to run the async command terminate on agent " + commandRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentExecutionAck runJupyterOnAgent(AgentJupyterExecutionRequest jupyterExecutionRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- Optional<StreamObserver<ServerMessage>> agentStreamObserver =
- getAgentStreamObserver(jupyterExecutionRequest.getAgentId());
- if (agentStreamObserver.isPresent()) {
- try {
- logger.info("Running a jupyter on agent {}", jupyterExecutionRequest.getAgentId());
- agentStreamObserver
- .get()
- .onNext(ServerMessage.newBuilder()
- .setJupyterExecutionRequest(
- org.apache.airavata.agent.JupyterExecutionRequest.newBuilder()
- .setExecutionId(executionId)
- .setEnvName(jupyterExecutionRequest.getEnvName())
- .setCode(jupyterExecutionRequest.getCode())
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "Failed to submit jupyter execution request {} on agent {}",
- executionId,
- jupyterExecutionRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run jupyter execution on agent {}", jupyterExecutionRequest.getAgentId());
- ackBuilder.setError(
- "No agent found to run jupyter execution on agent " + jupyterExecutionRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentExecutionAck runPythonOnAgent(AgentPythonExecutionRequest pythonRunRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- Optional<StreamObserver<ServerMessage>> agentStreamObserver =
- getAgentStreamObserver(pythonRunRequest.getAgentId());
- if (agentStreamObserver.isPresent()) {
- try {
- logger.info("Running a python on agent {}", pythonRunRequest.getAgentId());
- agentStreamObserver
- .get()
- .onNext(ServerMessage.newBuilder()
- .setPythonExecutionRequest(PythonExecutionRequest.newBuilder()
- .setExecutionId(executionId)
- .setEnvName(pythonRunRequest.getEnvName())
- .setWorkingDir(pythonRunRequest.getWorkingDir())
- .setCode(pythonRunRequest.getCode())
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "Failed to submit python execution request {} on agent {}",
- executionId,
- pythonRunRequest.getAgentId(),
- e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run python execution on agent {}", pythonRunRequest.getAgentId());
- ackBuilder.setError("No agent found to run python execution on agent " + pythonRunRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentTunnelAck terminateTunnelOnAgent(AgentTunnelTerminateRequest tunnelTerminateRequest) {
- String executionId = UUID.randomUUID().toString();
-
- AgentTunnelAck.Builder ackBuilder = AgentTunnelAck.newBuilder().setExecutionId(executionId);
- if (AGENT_STREAM_MAPPING.containsKey(tunnelTerminateRequest.getAgentId())
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(tunnelTerminateRequest.getAgentId()))) {
-
- String agentId = AGENT_STREAM_MAPPING.get(tunnelTerminateRequest.getAgentId());
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(agentId);
- try {
- streamObserver.onNext(ServerMessage.newBuilder()
- .setTunnelTerminationRequest(TunnelTerminationRequest.newBuilder()
- .setTunnelId(tunnelTerminateRequest.getTunnelId())
- .setExecutionId(executionId)
- .build())
- .build());
- } catch (Exception e) {
- logger.error("Failed to submit tunnel termination request on agent {}", agentId, e);
- ackBuilder.setError(e.getMessage());
- }
-
- } else {
- logger.warn("No agent found to terminate the tunnel for agent id ", tunnelTerminateRequest.getAgentId());
- ackBuilder.setError(
- "No agent found to terminate the tunnel for agent id " + tunnelTerminateRequest.getAgentId());
- }
-
- return ackBuilder.build();
- }
-
- public AgentTunnelAck runTunnelOnAgent(AgentTunnelCreateRequest tunnelRequest) {
- String executionId = UUID.randomUUID().toString();
-
- AgentTunnelAck.Builder ackBuilder = AgentTunnelAck.newBuilder().setExecutionId(executionId);
- if (AGENT_STREAM_MAPPING.containsKey(tunnelRequest.getAgentId())
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(tunnelRequest.getAgentId()))) {
- String agentId = AGENT_STREAM_MAPPING.get(tunnelRequest.getAgentId());
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(agentId);
- try {
- streamObserver.onNext(ServerMessage.newBuilder()
- .setTunnelCreationRequest(TunnelCreationRequest.newBuilder()
- .setExecutionId(executionId)
- .setLocalPort(tunnelRequest.getLocalPort())
- .setLocalBindHost(tunnelRequest.getLocalBindHost())
- .setTunnelServerHost(agentProperties.getTunnel().getServerHost())
- .setTunnelServerPort(agentProperties.getTunnel().getServerPort())
- .setTunnelServerApiUrl(
- agentProperties.getTunnel().getServerApiUrl())
- .setTunnelServerToken(
- agentProperties.getTunnel().getServerToken())
- .build())
- .build());
- } catch (Exception e) {
- logger.error("Failed to submit tunnel creation request on agent {}", agentId, e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the tunnel for agent id ", tunnelRequest.getAgentId());
- ackBuilder.setError("No agent found to run the tunnel for agent id " + tunnelRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- public AgentTunnelCreateResponse getTunnelCreateResponse(String executionId) {
- if (TUNNEL_CREATION_RESPONSE_CACHE.containsKey(executionId)) {
- TunnelCreationResponse cached = TUNNEL_CREATION_RESPONSE_CACHE.get(executionId);
- AgentTunnelCreateResponse response = AgentTunnelCreateResponse.newBuilder()
- .setTunnelId(cached.getTunnelId())
- .setExecutionId(executionId)
- .setProxyHost(cached.getTunnelHost())
- .setProxyPort(cached.getTunnelPort())
- .setStatus(cached.getStatus())
- .build();
- TUNNEL_CREATION_RESPONSE_CACHE.remove(executionId);
- return response;
- } else {
- return AgentTunnelCreateResponse.newBuilder().setStatus("Pending").build();
- }
- }
-
- public AgentExecutionAck runKernelRestartOnAgent(AgentKernelRestartRequest kernelRestartRequest) {
- String executionId = UUID.randomUUID().toString();
- AgentExecutionAck.Builder ackBuilder = AgentExecutionAck.newBuilder().setExecutionId(executionId);
- Optional<StreamObserver<ServerMessage>> agentStreamObserver =
- getAgentStreamObserver(kernelRestartRequest.getAgentId());
- if (agentStreamObserver.isPresent()) {
- try {
- logger.info("restarting kernel on env {}...", kernelRestartRequest.getEnvName());
- agentStreamObserver
- .get()
- .onNext(ServerMessage.newBuilder()
- .setKernelRestartRequest(KernelRestartRequest.newBuilder()
- .setExecutionId(executionId)
- .setEnvName(kernelRestartRequest.getEnvName())
- .build())
- .build());
- } catch (Exception e) {
- logger.error(
- "{} Failed to restart kernel on env {}!", executionId, kernelRestartRequest.getEnvName(), e);
- ackBuilder.setError(e.getMessage());
- }
- } else {
- logger.warn("No agent found to run the kernel restart on agent {}", kernelRestartRequest.getAgentId());
- ackBuilder.setError(
- "No agent found to run the kernel restart on agent " + kernelRestartRequest.getAgentId());
- }
- return ackBuilder.build();
- }
-
- // internal handlers
- private void handleAgentPing(AgentPing agentPing, String streamId) {
- logger.info("Received agent ping for agent id {}", agentPing.getAgentId());
- AGENT_STREAM_MAPPING.put(agentPing.getAgentId(), streamId);
- }
-
- private void handleEnvSetupResponse(EnvSetupResponse envSetupResponse) {
- logger.info("Received env setup response for execution id {}", envSetupResponse.getExecutionId());
- ENV_SETUP_RESPONSE_CACHE.put(envSetupResponse.getExecutionId(), envSetupResponse);
- }
-
- private void handleTunnelCreationResponse(TunnelCreationResponse tunnelCreationResponse) {
- logger.info("Received tunnel creation response for execution id {}", tunnelCreationResponse.getExecutionId());
- TUNNEL_CREATION_RESPONSE_CACHE.put(tunnelCreationResponse.getExecutionId(), tunnelCreationResponse);
- }
-
- private void handleTunnelTerminationResponse(TunnelTerminationResponse tunnelTerminationResponse) {
- logger.info(
- "Received tunnel termination response for execution id {}", tunnelTerminationResponse.getExecutionId());
- }
-
- private void handleCommandExecutionResponse(CommandExecutionResponse commandExecutionResponse) {
- logger.info(
- "Received command execution response for execution id {}", commandExecutionResponse.getExecutionId());
- COMMAND_EXECUTION_RESPONSE_CACHE.put(commandExecutionResponse.getExecutionId(), commandExecutionResponse);
- }
-
- private void handleAsyncCommandExecutionResponse(AsyncCommandExecutionResponse commandExecutionResponse) {
- logger.info(
- "Received async command execution response for execution id {}",
- commandExecutionResponse.getExecutionId());
- ASYNC_COMMAND_EXECUTION_RESPONSE_CACHE.put(commandExecutionResponse.getExecutionId(), commandExecutionResponse);
- }
-
- private void handleAsyncCommandListResponse(AsyncCommandListResponse commandListResponse) {
- logger.info("Received async command list response for execution id {}", commandListResponse.getExecutionId());
- ASYNC_COMMAND_LIST_RESPONSE_CACHE.put(commandListResponse.getExecutionId(), commandListResponse);
- }
-
- private void handleAsyncCommandTerminateResponse(AsyncCommandTerminateResponse commandTerminateResponse) {
- logger.info(
- "Received async command terminate response for execution id {}",
- commandTerminateResponse.getExecutionId());
- ASYNC_COMMAND_TERMINATE_RESPONSE_CACHE.put(commandTerminateResponse.getExecutionId(), commandTerminateResponse);
- }
-
- private void handleJupyterExecutionResponse(JupyterExecutionResponse executionResponse) {
- logger.info("Received jupyter execution response for execution id {}", executionResponse.getExecutionId());
- JUPYTER_EXECUTION_RESPONSE_CACHE.put(executionResponse.getExecutionId(), executionResponse);
- }
-
- private void handleKernelRestartResponse(KernelRestartResponse kernelRestartResponse) {
- logger.info("Received kernel restart response for execution id {}", kernelRestartResponse.getExecutionId());
- KERNEL_RESTART_RESPONSE_CACHE.put(kernelRestartResponse.getExecutionId(), kernelRestartResponse);
- }
-
- private void handlePythonExecutionResponse(PythonExecutionResponse executionResponse) {
- logger.info("Received python execution response for execution id {}", executionResponse.getExecutionId());
- PYTHON_EXECUTION_RESPONSE_CACHE.put(executionResponse.getExecutionId(), executionResponse);
- }
-
- // routing
- private Optional<StreamObserver<ServerMessage>> getAgentStreamObserver(String agentId) {
- if (AGENT_STREAM_MAPPING.containsKey(agentId)
- && ACTIVE_STREAMS.containsKey(AGENT_STREAM_MAPPING.get(agentId))) {
- String streamId = AGENT_STREAM_MAPPING.get(agentId);
- StreamObserver<ServerMessage> streamObserver = ACTIVE_STREAMS.get(streamId);
- return Optional.ofNullable(streamObserver);
- } else {
- return Optional.empty();
- }
- }
-
- @Override
- public StreamObserver<AgentMessage> createMessageBus(StreamObserver<ServerMessage> responseObserver) {
-
- String streamId = UUID.randomUUID().toString();
- ACTIVE_STREAMS.put(streamId, responseObserver);
-
- return new StreamObserver<AgentMessage>() {
- @Override
- public void onNext(AgentMessage request) {
-
- switch (request.getMessageCase()) {
- case AGENTPING -> {
- handleAgentPing(request.getAgentPing(), streamId);
- }
- case COMMANDEXECUTIONRESPONSE -> {
- handleCommandExecutionResponse(request.getCommandExecutionResponse());
- }
- case JUPYTEREXECUTIONRESPONSE -> {
- handleJupyterExecutionResponse(request.getJupyterExecutionResponse());
- }
- case KERNELRESTARTRESPONSE -> {
- handleKernelRestartResponse(request.getKernelRestartResponse());
- }
- case PYTHONEXECUTIONRESPONSE -> {
- handlePythonExecutionResponse(request.getPythonExecutionResponse());
- }
- case ENVSETUPRESPONSE -> {
- handleEnvSetupResponse(request.getEnvSetupResponse());
- }
- case TUNNELCREATIONRESPONSE -> {
- handleTunnelCreationResponse(request.getTunnelCreationResponse());
- }
- case TUNNELTERMINATIONRESPONSE -> {}
-
- case ASYNCCOMMANDEXECUTIONRESPONSE -> {
- handleAsyncCommandExecutionResponse(request.getAsyncCommandExecutionResponse());
- }
-
- case ASYNCCOMMANDLISTRESPONSE -> {
- handleAsyncCommandListResponse(request.getAsyncCommandListResponse());
- }
-
- case ASYNCCOMMANDTERMINATERESPONSE -> {
- handleAsyncCommandTerminateResponse(request.getAsyncCommandTerminateResponse());
- }
- }
- }
-
- @Override
- public void onError(Throwable t) {
- logger.warn("Error in processing stream {}. Removing the stream tracking from cache", streamId, t);
- ACTIVE_STREAMS.remove(streamId);
- }
-
- @Override
- public void onCompleted() {
- logger.info("Stream {} is completed", streamId);
- responseObserver.onCompleted();
- ACTIVE_STREAMS.remove(streamId);
- }
- };
- }
-}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/AgentInteractionGrpcHandler.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/AgentInteractionGrpcHandler.java
deleted file mode 100644
index 40d2e45065..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/AgentInteractionGrpcHandler.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.grpc;
-
-import io.grpc.stub.StreamObserver;
-import org.apache.airavata.agent.service.*;
-import org.apache.airavata.grpc.GrpcStatusMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class AgentInteractionGrpcHandler extends AgentInteractionServiceGrpc.AgentInteractionServiceImplBase {
-
- private static final Logger logger = LoggerFactory.getLogger(AgentInteractionGrpcHandler.class);
-
- private final AgentConnectionHandler agentConnectionHandler;
-
- public AgentInteractionGrpcHandler(AgentConnectionHandler agentConnectionHandler) {
- this.agentConnectionHandler = agentConnectionHandler;
- }
-
- @Override
- public void getAgentInfo(GetAgentInfoRequest request, StreamObserver<AgentInfoResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.isAgentUp(request.getAgentId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void setupTunnel(AgentTunnelCreateRequest request, StreamObserver<AgentTunnelAck> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.runTunnelOnAgent(request));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getTunnelResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentTunnelCreateResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getTunnelCreateResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void terminateTunnel(AgentTunnelTerminateRequest request, StreamObserver<AgentTunnelAck> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.terminateTunnelOnAgent(request));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void setupEnv(AgentEnvSetupRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runEnvSetupOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getEnvSetupResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentEnvSetupResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getEnvSetupResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void restartKernel(AgentKernelRestartRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runKernelRestartOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getKernelRestartResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentKernelRestartResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getKernelRestartResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void executeCommand(
- AgentCommandExecutionRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runCommandOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getCommandResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentCommandExecutionResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getCommandExecutionResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void executeAsyncCommand(
- AgentAsyncCommandExecutionRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runAsyncCommandOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAsyncCommandResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentAsyncCommandExecutionResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getAsyncCommandExecutionResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void listAsyncCommands(
- AgentAsyncCommandListRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runAsyncCommandListOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAsyncCommandListResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentAsyncCommandListResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getAsyncCommandListResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void terminateAsyncCommand(
- AgentAsyncCommandTerminateRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runAsyncCommandTerminateOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAsyncCommandTerminateResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentAsyncCommandTerminateResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getAsyncCommandTerminateResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void executeJupyter(
- AgentJupyterExecutionRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runJupyterOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getJupyterResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentJupyterExecutionResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getJupyterExecutionResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void executePython(AgentPythonExecutionRequest request, StreamObserver<AgentExecutionAck> responseObserver) {
- try {
- if (agentConnectionHandler.isAgentUp(request.getAgentId()).getIsAgentUp()) {
- responseObserver.onNext(agentConnectionHandler.runPythonOnAgent(request));
- } else {
- logger.warn("No agent is available to run on agent {}", request.getAgentId());
- responseObserver.onNext(AgentExecutionAck.newBuilder()
- .setError("Agent not found")
- .build());
- }
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getPythonResponse(
- GetExecutionResponseRequest request, StreamObserver<AgentPythonExecutionResponse> responseObserver) {
- try {
- responseObserver.onNext(agentConnectionHandler.getPythonExecutionResponse(request.getExecutionId()));
- responseObserver.onCompleted();
- } catch (Exception e) {
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/PlanGrpcHandler.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/PlanGrpcHandler.java
deleted file mode 100644
index e55d0ba5f2..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/grpc/PlanGrpcHandler.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.grpc;
-
-import com.google.protobuf.util.JsonFormat;
-import io.grpc.stub.StreamObserver;
-import java.util.List;
-import java.util.stream.Collectors;
-import org.apache.airavata.agent.model.PlanEntity;
-import org.apache.airavata.agent.service.*;
-import org.apache.airavata.agent.service.PlanService;
-import org.apache.airavata.config.UserContext;
-import org.apache.airavata.grpc.GrpcStatusMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class PlanGrpcHandler extends PlanServiceGrpc.PlanServiceImplBase {
-
- private static final Logger logger = LoggerFactory.getLogger(PlanGrpcHandler.class);
-
- private final PlanService planHandler;
-
- public PlanGrpcHandler(PlanService planHandler) {
- this.planHandler = planHandler;
- }
-
- @Override
- public void savePlan(SavePlanRequest request, StreamObserver<PlanMessage> responseObserver) {
- try {
- String dataAsString = JsonFormat.printer().print(request.getData());
-
- PlanEntity plan = new PlanEntity();
- plan.setId(request.getId());
- plan.setUserId(UserContext.userId());
- plan.setGatewayId(UserContext.gatewayId());
- plan.setData(dataAsString);
-
- PlanEntity savedPlan = planHandler.savePlan(plan);
- responseObserver.onNext(toPlanMessage(savedPlan));
- responseObserver.onCompleted();
- } catch (Exception e) {
- logger.error("Error while saving plan", e);
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getPlansByUser(GetPlansByUserRequest request, StreamObserver<GetPlansByUserResponse> responseObserver) {
- try {
- List<PlanEntity> plans = planHandler.getAllPlansByUserId(UserContext.userId(), UserContext.gatewayId());
- GetPlansByUserResponse response = GetPlansByUserResponse.newBuilder()
- .addAllPlans(plans.stream().map(this::toPlanMessage).collect(Collectors.toList()))
- .build();
- responseObserver.onNext(response);
- responseObserver.onCompleted();
- } catch (Exception e) {
- logger.error("Error while getting plans by user", e);
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getPlan(GetPlanRequest request, StreamObserver<PlanMessage> responseObserver) {
- try {
- PlanEntity plan = planHandler.getPlanById(request.getPlanId());
- responseObserver.onNext(toPlanMessage(plan));
- responseObserver.onCompleted();
- } catch (Exception e) {
- logger.error("Error while getting plan {}", request.getPlanId(), e);
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updatePlan(UpdatePlanRequest request, StreamObserver<PlanMessage> responseObserver) {
- try {
- PlanEntity existingPlan = planHandler.getPlanById(request.getPlanId());
-
- String dataAsString = JsonFormat.printer().print(request.getData());
- existingPlan.setData(dataAsString);
- PlanEntity updatedPlan = planHandler.savePlan(existingPlan);
- responseObserver.onNext(toPlanMessage(updatedPlan));
- responseObserver.onCompleted();
- } catch (Exception e) {
- logger.error("Error while updating plan {}", request.getPlanId(), e);
- responseObserver.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- private PlanMessage toPlanMessage(PlanEntity plan) {
- return PlanMessage.newBuilder()
- .setId(plan.getId())
- .setUserId(plan.getUserId())
- .setGatewayId(plan.getGatewayId())
- .setData(plan.getData() != null ? plan.getData() : "")
- .build();
- }
-}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/PlanEntity.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/PlanEntity.java
deleted file mode 100644
index 16e9708f68..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/model/PlanEntity.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.model;
-
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.Table;
-
-@Entity
-@Table(name = "PLAN")
-public class PlanEntity {
-
- @Id
- @Column(name = "PLAN_ID", nullable = false)
- private String id;
-
- @Column(name = "USER_ID", nullable = false)
- private String userId;
-
- @Column(name = "GATEWAY_ID", nullable = false)
- private String gatewayId;
-
- @Column(name = "DATA", columnDefinition = "TEXT")
- private String data;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getData() {
- return data;
- }
-
- public void setData(String data) {
- this.data = data;
- }
-}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/repository/PlanRepository.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/repository/PlanRepository.java
deleted file mode 100644
index b4e1a15649..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/repository/PlanRepository.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.repository;
-
-import java.util.List;
-import org.apache.airavata.agent.model.PlanEntity;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface PlanRepository extends JpaRepository<PlanEntity, String> {
-
- List<PlanEntity> findAllByUserIdAndGatewayId(String userId, String gatewayId);
-}
diff --git a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/service/PlanService.java b/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/service/PlanService.java
deleted file mode 100644
index 9c791a1f5a..0000000000
--- a/airavata-api/agent-service/src/main/java/org/apache/airavata/agent/service/PlanService.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.agent.service;
-
-import java.util.List;
-import org.apache.airavata.agent.model.PlanEntity;
-import org.apache.airavata.agent.repository.PlanRepository;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-
-@Service
-public class PlanService {
-
- private static final Logger logger = LoggerFactory.getLogger(PlanService.class);
-
- private final PlanRepository planRepo;
-
- public PlanService(PlanRepository planRepo) {
- this.planRepo = planRepo;
- }
-
- public PlanEntity savePlan(PlanEntity plan) {
- PlanEntity savedPlan = planRepo.save(plan);
- logger.info("Created the plan with the id: {}", plan.getId());
- return savedPlan;
- }
-
- public List<PlanEntity> getAllPlansByUserId(String userId, String gatewayId) {
- return planRepo.findAllByUserIdAndGatewayId(userId, gatewayId);
- }
-
- public PlanEntity getPlanById(String planId) {
- return planRepo.findById(planId).orElseThrow(() -> new RuntimeException("Plan not found: " + planId));
- }
-}
diff --git a/airavata-api/agent-service/src/main/proto/agent-communication.proto b/airavata-api/agent-service/src/main/proto/agent-communication.proto
deleted file mode 100644
index 9e1dd82542..0000000000
--- a/airavata-api/agent-service/src/main/proto/agent-communication.proto
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-syntax = "proto3";
-
-package org.apache.airavata.agent;
-
-option java_multiple_files = true;
-option java_package = "org.apache.airavata.agent";
-option java_outer_classname = "AgentCommunicationProto";
-option go_package = "protos/";
-
-service AgentCommunicationService {
- rpc createMessageBus(stream AgentMessage) returns (stream ServerMessage);
-}
-
-// agent pinging the server
-message AgentPing {
- string agentId = 1;
-}
-
-// server requesting the agent to shutdown
-message ShutdownRequest {
- string agentId = 1;
-}
-
-// server requesting the agent to create a new agent subprocess
-message CreateAgentRequest {
- string executionId = 1;
- string agentId = 2;
- string containerId = 3;
- string workingDir = 4;
- repeated string mounts = 5;
-}
-message CreateAgentResponse {
- string executionId = 1;
- string agentId = 2;
- string status = 3;
-}
-
-// server requesting the agent to terminate an agent subprocess
-message TerminateAgentRequest {
- string executionId = 1;
- string agentId = 2;
-}
-message TerminateAgentResponse {
- string executionId = 1;
- string agentId = 2;
- string status = 3;
-}
-
-// server requesting the agent to setup an environment
-message EnvSetupRequest {
- string executionId = 1;
- string envName = 2;
- repeated string libraries = 3;
- repeated string pip = 4;
-}
-message EnvSetupResponse {
- string executionId = 1;
- string status = 2;
-}
-
-// server requesting the agent to execute a shell command in the environment
-message CommandExecutionRequest {
- string executionId = 1;
- string envName = 2;
- string workingDir = 3;
- repeated string arguments = 4;
-}
-message CommandExecutionResponse {
- string executionId = 1;
- string responseString = 2;
-}
-
-message AsyncCommandExecutionRequest {
- string executionId = 1;
- string envName = 2;
- string workingDir = 3;
- repeated string arguments = 4;
-}
-
-message AsyncCommandExecutionResponse {
- string executionId = 1;
- int32 processId = 2;
- string errorMessage = 3;
-}
-
-message AsyncCommandListRequest {
- string executionId = 1;
-}
-
-message AsyncCommand {
- int32 processId = 1;
- repeated string arguments = 4;
-}
-
-message AsyncCommandListResponse {
- string executionId = 1;
- repeated AsyncCommand commands = 2;
-}
-
-message AsyncCommandTerminateRequest {
- string executionId = 1;
- int32 processId = 2;
-}
-
-message AsyncCommandTerminateResponse {
- string executionId = 1;
- string status = 2;
-}
-
-// server requesting the agent to execute a python script in the environment
-message PythonExecutionRequest {
- string executionId = 1;
- string envName = 2;
- string workingDir = 3;
- string code = 4;
-}
-message PythonExecutionResponse {
- string executionId = 1;
- string responseString = 2;
-}
-
-// server requesting the agent to execute a jupyter notebook cell in the environment
-message JupyterExecutionRequest {
- string executionId = 1;
- string envName = 2;
- string code = 3;
-}
-message JupyterExecutionResponse {
- string executionId = 1;
- string responseString = 2;
-}
-
-// server requesting the agent to restart a jupyter kernel
-message KernelRestartRequest {
- string executionId = 1;
- string envName = 2;
-}
-message KernelRestartResponse {
- string executionId = 1;
- string status = 2;
-}
-
-// server requesting the agent to create a ssh tunnel
-message TunnelCreationRequest {
- string executionId = 1;
- int32 localPort = 2;
- string localBindHost = 3;
- string tunnelServerHost = 4;
- int32 tunnelServerPort = 5;
- string tunnelServerApiUrl = 6;
- string tunnelServerToken = 7;
-}
-
-message TunnelCreationResponse {
- string executionId = 1;
- string status = 2;
- string tunnelHost = 3;
- int32 tunnelPort = 4;
- string tunnelId = 5;
-}
-
-// server requesting the agent to terminate a ssh tunnel
-message TunnelTerminationRequest {
- string executionId = 1;
- string tunnelId = 2;
-}
-message TunnelTerminationResponse {
- string executionId = 1;
- string status = 2;
-}
-
-message AgentMessage {
- oneof message {
- AgentPing agentPing = 1;
- CreateAgentResponse createAgentResponse = 2;
- TerminateAgentResponse terminateAgentResponse = 3;
- EnvSetupResponse envSetupResponse = 4;
- CommandExecutionResponse commandExecutionResponse = 5;
- PythonExecutionResponse pythonExecutionResponse = 6;
- JupyterExecutionResponse jupyterExecutionResponse = 7;
- KernelRestartResponse kernelRestartResponse = 8;
- TunnelCreationResponse tunnelCreationResponse = 9;
- TunnelTerminationResponse tunnelTerminationResponse = 10;
- AsyncCommandExecutionResponse asyncCommandExecutionResponse = 11;
- AsyncCommandListResponse asyncCommandListResponse = 12;
- AsyncCommandTerminateResponse asyncCommandTerminateResponse = 13;
- }
-}
-
-message ServerMessage {
- oneof message {
- ShutdownRequest shutdownRequest = 1;
- CreateAgentRequest createAgentRequest = 2;
- TerminateAgentRequest terminateAgentRequest = 3;
- EnvSetupRequest envSetupRequest = 4;
- CommandExecutionRequest commandExecutionRequest = 5;
- PythonExecutionRequest pythonExecutionRequest = 6;
- JupyterExecutionRequest jupyterExecutionRequest = 7;
- KernelRestartRequest kernelRestartRequest = 8;
- TunnelCreationRequest tunnelCreationRequest = 9;
- TunnelTerminationRequest tunnelTerminationRequest = 10;
- AsyncCommandExecutionRequest asyncCommandExecutionRequest = 11;
- AsyncCommandListRequest asyncCommandListRequest = 12;
- AsyncCommandTerminateRequest asyncCommandTerminateRequest = 13;
- }
-}
diff --git a/airavata-api/agent-service/src/main/proto/agent-service.proto b/airavata-api/agent-service/src/main/proto/agent-service.proto
deleted file mode 100644
index ead1d0646a..0000000000
--- a/airavata-api/agent-service/src/main/proto/agent-service.proto
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-syntax = "proto3";
-
-package org.apache.airavata.agent.service;
-
-option java_multiple_files = true;
-option java_package = "org.apache.airavata.agent.service";
-option java_outer_classname = "AgentServiceProto";
-
-import "google/api/annotations.proto";
-import "google/protobuf/struct.proto";
-
-// --- Agent info ---
-
-message AgentInfoResponse {
- string agent_id = 1;
- bool is_agent_up = 2;
-}
-
-// --- Generic execution ack (shared by command, jupyter, python, kernel restart, async) ---
-
-message AgentExecutionAck {
- string execution_id = 1;
- string error = 2;
-}
-
-// --- Environment setup ---
-
-message AgentEnvSetupRequest {
- string agent_id = 1;
- string env_name = 2;
- repeated string libraries = 3;
- repeated string pip = 4;
-}
-
-message AgentEnvSetupResponse {
- string execution_id = 1;
- bool setup = 2;
- string status = 3;
-}
-
-// --- Shell command execution ---
-
-message AgentCommandExecutionRequest {
- string agent_id = 1;
- string env_name = 2;
- string working_dir = 3;
- repeated string arguments = 4;
-}
-
-message AgentCommandExecutionResponse {
- string execution_id = 1;
- bool executed = 2;
- string response_string = 3;
-}
-
-// --- Async shell command execution ---
-
-message AgentAsyncCommandExecutionRequest {
- string agent_id = 1;
- string env_name = 2;
- string working_dir = 3;
- repeated string arguments = 4;
-}
-
-message AgentAsyncCommandExecutionResponse {
- string execution_id = 1;
- int32 process_id = 2;
- string error_message = 3;
-}
-
-// --- Async command list ---
-
-message AgentAsyncCommandListRequest {
- string agent_id = 1;
-}
-
-message AgentAsyncCommand {
- int32 process_id = 1;
- repeated string arguments = 2;
-}
-
-message AgentAsyncCommandListResponse {
- string execution_id = 1;
- repeated AgentAsyncCommand commands = 2;
- string error = 3;
-}
-
-// --- Async command terminate ---
-
-message AgentAsyncCommandTerminateRequest {
- string agent_id = 1;
- int32 process_id = 2;
-}
-
-message AgentAsyncCommandTerminateResponse {
- string execution_id = 1;
- string status = 2;
-}
-
-// --- Jupyter execution ---
-
-message AgentJupyterExecutionRequest {
- string agent_id = 1;
- string env_name = 2;
- string code = 3;
-}
-
-message AgentJupyterExecutionResponse {
- string execution_id = 1;
- bool executed = 2;
- string response_string = 3;
-}
-
-// --- Python execution ---
-
-message AgentPythonExecutionRequest {
- string agent_id = 1;
- string env_name = 2;
- string working_dir = 3;
- string code = 4;
-}
-
-message AgentPythonExecutionResponse {
- string execution_id = 1;
- bool executed = 2;
- string response_string = 3;
-}
-
-// --- Kernel restart ---
-
-message AgentKernelRestartRequest {
- string agent_id = 1;
- string env_name = 2;
-}
-
-message AgentKernelRestartResponse {
- string execution_id = 1;
- string status = 2;
- bool restarted = 3;
-}
-
-// --- Tunnel creation ---
-
-message AgentTunnelCreateRequest {
- string agent_id = 1;
- int32 local_port = 2;
- string local_bind_host = 3;
-}
-
-message AgentTunnelAck {
- string execution_id = 1;
- int32 status = 2;
- string error = 3;
-}
-
-message AgentTunnelCreateResponse {
- string execution_id = 1;
- string tunnel_id = 2;
- int32 proxy_port = 3;
- string proxy_host = 4;
- string status = 5;
-}
-
-// --- Tunnel termination ---
-
-message AgentTunnelTerminateRequest {
- string agent_id = 1;
- string tunnel_id = 2;
-}
-
-// ============================================================
-// Agent Interaction Service (replaces AgentController)
-// ============================================================
-
-message GetAgentInfoRequest {
- string agent_id = 1;
-}
-
-message GetExecutionResponseRequest {
- string execution_id = 1;
-}
-
-service AgentInteractionService {
- rpc GetAgentInfo(GetAgentInfoRequest) returns (AgentInfoResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/{agent_id}"
- };
- }
-
- rpc SetupTunnel(AgentTunnelCreateRequest) returns (AgentTunnelAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/setup/tunnel"
- body: "*"
- };
- }
-
- rpc GetTunnelResponse(GetExecutionResponseRequest) returns (AgentTunnelCreateResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/setup/tunnel/{execution_id}"
- };
- }
-
- rpc TerminateTunnel(AgentTunnelTerminateRequest) returns (AgentTunnelAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/terminate/tunnel"
- body: "*"
- };
- }
-
- rpc SetupEnv(AgentEnvSetupRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/setup/env"
- body: "*"
- };
- }
-
- rpc GetEnvSetupResponse(GetExecutionResponseRequest) returns (AgentEnvSetupResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/setup/env/{execution_id}"
- };
- }
-
- rpc RestartKernel(AgentKernelRestartRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/setup/restart"
- body: "*"
- };
- }
-
- rpc GetKernelRestartResponse(GetExecutionResponseRequest) returns (AgentKernelRestartResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/setup/restart/{execution_id}"
- };
- }
-
- rpc ExecuteCommand(AgentCommandExecutionRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/execute/shell"
- body: "*"
- };
- }
-
- rpc GetCommandResponse(GetExecutionResponseRequest) returns (AgentCommandExecutionResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/execute/shell/{execution_id}"
- };
- }
-
- rpc ExecuteAsyncCommand(AgentAsyncCommandExecutionRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/execute/asyncshell"
- body: "*"
- };
- }
-
- rpc GetAsyncCommandResponse(GetExecutionResponseRequest) returns (AgentAsyncCommandExecutionResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/execute/asyncshell/{execution_id}"
- };
- }
-
- rpc ListAsyncCommands(AgentAsyncCommandListRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/list/asyncshell"
- body: "*"
- };
- }
-
- rpc GetAsyncCommandListResponse(GetExecutionResponseRequest) returns (AgentAsyncCommandListResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/list/asyncshell/{execution_id}"
- };
- }
-
- rpc TerminateAsyncCommand(AgentAsyncCommandTerminateRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/terminate/asyncshell"
- body: "*"
- };
- }
-
- rpc GetAsyncCommandTerminateResponse(GetExecutionResponseRequest) returns (AgentAsyncCommandTerminateResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/terminate/asyncshell/{execution_id}"
- };
- }
-
- rpc ExecuteJupyter(AgentJupyterExecutionRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/execute/jupyter"
- body: "*"
- };
- }
-
- rpc GetJupyterResponse(GetExecutionResponseRequest) returns (AgentJupyterExecutionResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/execute/jupyter/{execution_id}"
- };
- }
-
- rpc ExecutePython(AgentPythonExecutionRequest) returns (AgentExecutionAck) {
- option (google.api.http) = {
- post: "/api/v1/agent/execute/python"
- body: "*"
- };
- }
-
- rpc GetPythonResponse(GetExecutionResponseRequest) returns (AgentPythonExecutionResponse) {
- option (google.api.http) = {
- get: "/api/v1/agent/execute/python/{execution_id}"
- };
- }
-}
-
-// ============================================================
-// Plan Service (replaces PlanController)
-// ============================================================
-
-message SavePlanRequest {
- string id = 1;
- google.protobuf.Struct data = 2;
-}
-
-message UpdatePlanRequest {
- string plan_id = 1;
- google.protobuf.Struct data = 2;
-}
-
-message GetPlanRequest {
- string plan_id = 1;
-}
-
-message GetPlansByUserRequest {}
-
-message GetPlansByUserResponse {
- repeated PlanMessage plans = 1;
-}
-
-message PlanMessage {
- string id = 1;
- string user_id = 2;
- string gateway_id = 3;
- string data = 4;
-}
-
-service PlanService {
- rpc SavePlan(SavePlanRequest) returns (PlanMessage) {
- option (google.api.http) = {
- post: "/api/v1/plan"
- body: "*"
- };
- }
-
- rpc GetPlansByUser(GetPlansByUserRequest) returns (GetPlansByUserResponse) {
- option (google.api.http) = {
- get: "/api/v1/plan/user"
- };
- }
-
- rpc GetPlan(GetPlanRequest) returns (PlanMessage) {
- option (google.api.http) = {
- get: "/api/v1/plan/{plan_id}"
- };
- }
-
- rpc UpdatePlan(UpdatePlanRequest) returns (PlanMessage) {
- option (google.api.http) = {
- put: "/api/v1/plan/{plan_id}"
- body: "*"
- };
- }
-}
diff --git a/airavata-api/compute-service/pom.xml b/airavata-api/compute-service/pom.xml
deleted file mode 100644
index 105fd5d149..0000000000
--- a/airavata-api/compute-service/pom.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata</artifactId>
- <version>0.21-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <artifactId>compute-service</artifactId>
- <name>Compute Service</name>
- <description>Compute resource management service implementation</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>credential-service</artifactId>
- <version>${project.version}</version>
- </dependency>
- <!-- Spring (optional in airavata-api, needed here for @Component/@Service) -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-autoconfigure</artifactId>
- <optional>true</optional>
- </dependency>
-
- <!-- MapStruct (needed for ComputeMapper) -->
- <dependency>
- <groupId>org.mapstruct</groupId>
- <artifactId>mapstruct</artifactId>
- </dependency>
-
- <!-- Test dependencies -->
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata-api</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testcontainers</groupId>
- <artifactId>testcontainers</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testcontainers</groupId>
- <artifactId>mariadb</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testcontainers</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.platform</groupId>
- <artifactId>junit-platform-launcher</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.sshd</groupId>
- <artifactId>sshd-sftp</artifactId>
- <version>2.12.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-templates</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <!-- Protobuf code generation -->
- <plugin>
- <groupId>io.github.ascopes</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-proto-sources</id>
- <goals><goal>generate</goal></goals>
- <phase>generate-sources</phase>
- <configuration>
- <protocVersion>4.29.5</protocVersion>
- <sourceDirectories>
- <sourceDirectory>${project.basedir}/src/main/proto</sourceDirectory>
- </sourceDirectories>
- <importPaths>
- <importPath>${project.basedir}/../src/main/proto</importPath>
- </importPaths>
- <binaryMavenPlugins>
- <binaryMavenPlugin>
- <groupId>io.grpc</groupId>
- <artifactId>protoc-gen-grpc-java</artifactId>
- <version>1.73.0</version>
- <options>@generated=omit</options>
- </binaryMavenPlugin>
- </binaryMavenPlugins>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- MapStruct annotation processor -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>org.mapstruct</groupId>
- <artifactId>mapstruct-processor</artifactId>
- <version>${mapstruct.version}</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- </plugins>
-
- <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
- <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
- </build>
-
-</project>
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/config/ComputeServiceConfig.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/config/ComputeServiceConfig.java
deleted file mode 100644
index d747327880..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/config/ComputeServiceConfig.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.config;
-
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@ComponentScan(basePackages = "org.apache.airavata.compute")
-@EntityScan(basePackages = "org.apache.airavata.compute")
-public class ComputeServiceConfig {}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/GatewayResourceProfileGrpcService.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/GatewayResourceProfileGrpcService.java
deleted file mode 100644
index 4206b552e6..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/GatewayResourceProfileGrpcService.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.grpc;
-
-import com.google.protobuf.Empty;
-import io.grpc.stub.StreamObserver;
-import java.util.List;
-import org.apache.airavata.api.gatewayprofile.*;
-import org.apache.airavata.compute.service.GatewayResourceProfileService;
-import org.apache.airavata.config.RequestContext;
-import org.apache.airavata.grpc.GrpcRequestContext;
-import org.apache.airavata.grpc.GrpcStatusMapper;
-import org.apache.airavata.model.appcatalog.accountprovisioning.proto.SSHAccountProvisioner;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.ComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.GatewayResourceProfile;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.StoragePreference;
-import org.springframework.stereotype.Component;
-
-@Component
-public class GatewayResourceProfileGrpcService
- extends GatewayResourceProfileServiceGrpc.GatewayResourceProfileServiceImplBase {
-
- private final GatewayResourceProfileService gatewayResourceProfileService;
-
- public GatewayResourceProfileGrpcService(GatewayResourceProfileService gatewayResourceProfileService) {
- this.gatewayResourceProfileService = gatewayResourceProfileService;
- }
-
- // --- Gateway Resource Profiles ---
-
- @Override
- public void registerGatewayResourceProfile(
- RegisterGatewayResourceProfileRequest request,
- StreamObserver<RegisterGatewayResourceProfileResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- String id = gatewayResourceProfileService.registerGatewayResourceProfile(
- ctx, request.getGatewayResourceProfile());
- observer.onNext(RegisterGatewayResourceProfileResponse.newBuilder()
- .setGatewayId(id)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGatewayResourceProfile(
- GetGatewayResourceProfileRequest request, StreamObserver<GatewayResourceProfile> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GatewayResourceProfile result =
- gatewayResourceProfileService.getGatewayResourceProfile(ctx, request.getGatewayId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGatewayResourceProfileWithAccess(
- GetGatewayResourceProfileRequest request, StreamObserver<GatewayResourceProfileWithAccess> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GatewayResourceProfileWithAccess result =
- gatewayResourceProfileService.getGatewayResourceProfileWithAccess(ctx, request.getGatewayId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateGatewayResourceProfile(
- UpdateGatewayResourceProfileRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.updateGatewayResourceProfile(
- ctx, request.getGatewayId(), request.getGatewayResourceProfile());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void deleteGatewayResourceProfile(
- DeleteGatewayResourceProfileRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.deleteGatewayResourceProfile(ctx, request.getGatewayId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAllGatewayResourceProfiles(
- GetAllGatewayResourceProfilesRequest request,
- StreamObserver<GetAllGatewayResourceProfilesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<GatewayResourceProfile> profiles = gatewayResourceProfileService.getAllGatewayResourceProfiles(ctx);
- observer.onNext(GetAllGatewayResourceProfilesResponse.newBuilder()
- .addAllGatewayResourceProfiles(profiles)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Compute Preferences ---
-
- @Override
- public void addComputePreference(AddComputePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.addGatewayComputeResourcePreference(
- ctx,
- request.getGatewayId(),
- request.getComputeResourceId(),
- request.getComputeResourcePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getComputePreference(
- GetComputePreferenceRequest request, StreamObserver<ComputeResourcePreference> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- ComputeResourcePreference result = gatewayResourceProfileService.getGatewayComputeResourcePreference(
- ctx, request.getGatewayId(), request.getComputeResourceId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateComputePreference(UpdateComputePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.updateGatewayComputeResourcePreference(
- ctx,
- request.getGatewayId(),
- request.getComputeResourceId(),
- request.getComputeResourcePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void deleteComputePreference(DeleteComputePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.deleteGatewayComputeResourcePreference(
- ctx, request.getGatewayId(), request.getComputeResourceId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAllComputePreferences(
- GetAllComputePreferencesRequest request, StreamObserver<GetAllComputePreferencesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<ComputeResourcePreference> prefs =
- gatewayResourceProfileService.getAllGatewayComputeResourcePreferences(ctx, request.getGatewayId());
- observer.onNext(GetAllComputePreferencesResponse.newBuilder()
- .addAllComputeResourcePreferences(prefs)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Storage Preferences ---
-
- @Override
- public void addStoragePreference(AddStoragePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.addGatewayStoragePreference(
- ctx, request.getGatewayId(), request.getStorageResourceId(), request.getStoragePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getStoragePreference(GetStoragePreferenceRequest request, StreamObserver<StoragePreference> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- StoragePreference result = gatewayResourceProfileService.getGatewayStoragePreference(
- ctx, request.getGatewayId(), request.getStorageResourceId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateStoragePreference(UpdateStoragePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.updateGatewayStoragePreference(
- ctx, request.getGatewayId(), request.getStorageResourceId(), request.getStoragePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void deleteStoragePreference(DeleteStoragePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- gatewayResourceProfileService.deleteGatewayStoragePreference(
- ctx, request.getGatewayId(), request.getStorageResourceId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAllStoragePreferences(
- GetAllStoragePreferencesRequest request, StreamObserver<GetAllStoragePreferencesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<StoragePreference> prefs =
- gatewayResourceProfileService.getAllGatewayStoragePreferences(ctx, request.getGatewayId());
- observer.onNext(GetAllStoragePreferencesResponse.newBuilder()
- .addAllStoragePreferences(prefs)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- SSH Account Provisioners ---
-
- @Override
- public void getSSHAccountProvisioners(
- GetSSHAccountProvisionersRequest request, StreamObserver<GetSSHAccountProvisionersResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<SSHAccountProvisioner> provisioners = gatewayResourceProfileService.getSSHAccountProvisioners(ctx);
- observer.onNext(GetSSHAccountProvisionersResponse.newBuilder()
- .addAllSshAccountProvisioners(provisioners)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/GroupResourceProfileGrpcService.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/GroupResourceProfileGrpcService.java
deleted file mode 100644
index 9e4ea77d08..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/GroupResourceProfileGrpcService.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.grpc;
-
-import com.google.protobuf.Empty;
-import io.grpc.stub.StreamObserver;
-import java.util.List;
-import org.apache.airavata.api.groupprofile.*;
-import org.apache.airavata.compute.service.GroupResourceProfileService;
-import org.apache.airavata.config.RequestContext;
-import org.apache.airavata.grpc.GrpcRequestContext;
-import org.apache.airavata.grpc.GrpcStatusMapper;
-import org.apache.airavata.model.appcatalog.gatewaygroups.proto.GatewayGroups;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.BatchQueueResourcePolicy;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourcePolicy;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupResourceProfile;
-import org.springframework.stereotype.Component;
-
-@Component
-public class GroupResourceProfileGrpcService
- extends GroupResourceProfileServiceGrpc.GroupResourceProfileServiceImplBase {
-
- private final GroupResourceProfileService groupResourceProfileService;
-
- public GroupResourceProfileGrpcService(GroupResourceProfileService groupResourceProfileService) {
- this.groupResourceProfileService = groupResourceProfileService;
- }
-
- // --- Group Resource Profiles ---
-
- @Override
- public void createGroupResourceProfile(
- CreateGroupResourceProfileRequest request, StreamObserver<GroupResourceProfile> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- String id = groupResourceProfileService.createGroupResourceProfile(ctx, request.getGroupResourceProfile());
- // Return the profile with the generated ID
- GroupResourceProfile created = groupResourceProfileService.getGroupResourceProfile(ctx, id);
- observer.onNext(created);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupResourceProfile(
- GetGroupResourceProfileRequest request, StreamObserver<GroupResourceProfile> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GroupResourceProfile result =
- groupResourceProfileService.getGroupResourceProfile(ctx, request.getGroupResourceProfileId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupResourceProfileWithAccess(
- GetGroupResourceProfileRequest request, StreamObserver<GroupResourceProfileWithAccess> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GroupResourceProfileWithAccess result = groupResourceProfileService.getGroupResourceProfileWithAccess(
- ctx, request.getGroupResourceProfileId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateGroupResourceProfile(UpdateGroupResourceProfileRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- groupResourceProfileService.updateGroupResourceProfile(ctx, request.getGroupResourceProfile());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateGroupResourceProfileReconciled(
- UpdateGroupResourceProfileRequest request, StreamObserver<GroupResourceProfileWithAccess> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GroupResourceProfileWithAccess result = groupResourceProfileService.updateGroupResourceProfileReconciled(
- ctx, request.getGroupResourceProfile());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void removeGroupResourceProfile(RemoveGroupResourceProfileRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- groupResourceProfileService.removeGroupResourceProfile(ctx, request.getGroupResourceProfileId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupResourceList(
- GetGroupResourceListRequest request, StreamObserver<GetGroupResourceListResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<GroupResourceProfile> profiles =
- groupResourceProfileService.getGroupResourceList(ctx, ctx.getGatewayId());
- observer.onNext(GetGroupResourceListResponse.newBuilder()
- .addAllGroupResourceProfiles(profiles)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupResourceListWithAccess(
- GetGroupResourceListRequest request, StreamObserver<GetGroupResourceListWithAccessResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<GroupResourceProfileWithAccess> profiles =
- groupResourceProfileService.getGroupResourceListWithAccess(ctx, ctx.getGatewayId());
- observer.onNext(GetGroupResourceListWithAccessResponse.newBuilder()
- .addAllProfiles(profiles)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Group Compute Preferences ---
-
- @Override
- public void getGroupComputePreference(
- GetGroupComputePreferenceRequest request, StreamObserver<GroupComputeResourcePreference> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GroupComputeResourcePreference result = groupResourceProfileService.getGroupComputeResourcePreference(
- ctx, request.getComputeResourceId(), request.getGroupResourceProfileId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void removeGroupComputePrefs(RemoveGroupComputePrefsRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- groupResourceProfileService.removeGroupComputePrefs(
- ctx, request.getComputeResourceId(), request.getGroupResourceProfileId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupComputePrefList(
- GetGroupComputePrefListRequest request, StreamObserver<GetGroupComputePrefListResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<GroupComputeResourcePreference> prefs = groupResourceProfileService.getGroupComputeResourcePrefList(
- ctx, request.getGroupResourceProfileId());
- observer.onNext(GetGroupComputePrefListResponse.newBuilder()
- .addAllGroupComputeResourcePreferences(prefs)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Compute Resource Policies ---
-
- @Override
- public void getGroupComputeResourcePolicy(
- GetGroupComputeResourcePolicyRequest request, StreamObserver<ComputeResourcePolicy> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- ComputeResourcePolicy result =
- groupResourceProfileService.getGroupComputeResourcePolicy(ctx, request.getResourcePolicyId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void removeGroupComputeResourcePolicy(
- RemoveGroupComputeResourcePolicyRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- groupResourceProfileService.removeGroupComputeResourcePolicy(ctx, request.getResourcePolicyId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupComputeResourcePolicyList(
- GetGroupComputeResourcePolicyListRequest request,
- StreamObserver<GetGroupComputeResourcePolicyListResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<ComputeResourcePolicy> policies = groupResourceProfileService.getGroupComputeResourcePolicyList(
- ctx, request.getGroupResourceProfileId());
- observer.onNext(GetGroupComputeResourcePolicyListResponse.newBuilder()
- .addAllComputeResourcePolicies(policies)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Batch Queue Resource Policies ---
-
- @Override
- public void getBatchQueueResourcePolicy(
- GetBatchQueueResourcePolicyRequest request, StreamObserver<BatchQueueResourcePolicy> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- BatchQueueResourcePolicy result =
- groupResourceProfileService.getBatchQueueResourcePolicy(ctx, request.getResourcePolicyId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void removeGroupBatchQueueResourcePolicy(
- RemoveGroupBatchQueueResourcePolicyRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- groupResourceProfileService.removeGroupBatchQueueResourcePolicy(ctx, request.getResourcePolicyId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getGroupBatchQueuePolicyList(
- GetGroupBatchQueuePolicyListRequest request,
- StreamObserver<GetGroupBatchQueuePolicyListResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<BatchQueueResourcePolicy> policies = groupResourceProfileService.getGroupBatchQueueResourcePolicyList(
- ctx, request.getGroupResourceProfileId());
- observer.onNext(GetGroupBatchQueuePolicyListResponse.newBuilder()
- .addAllBatchQueueResourcePolicies(policies)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Gateway Groups ---
-
- @Override
- public void getGatewayGroups(GetGatewayGroupsRequest request, StreamObserver<GatewayGroups> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- GatewayGroups result = groupResourceProfileService.getGatewayGroups(ctx);
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/UserResourceProfileGrpcService.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/UserResourceProfileGrpcService.java
deleted file mode 100644
index 48ef287dd2..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/grpc/UserResourceProfileGrpcService.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.grpc;
-
-import com.google.protobuf.Empty;
-import io.grpc.stub.StreamObserver;
-import java.util.List;
-import org.apache.airavata.api.userprofile.*;
-import org.apache.airavata.compute.service.UserResourceProfileService;
-import org.apache.airavata.config.RequestContext;
-import org.apache.airavata.grpc.GrpcRequestContext;
-import org.apache.airavata.grpc.GrpcStatusMapper;
-import org.apache.airavata.model.appcatalog.userresourceprofile.proto.UserComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.userresourceprofile.proto.UserResourceProfile;
-import org.apache.airavata.model.appcatalog.userresourceprofile.proto.UserStoragePreference;
-import org.apache.airavata.model.status.proto.QueueStatusModel;
-import org.springframework.stereotype.Component;
-
-@Component
-public class UserResourceProfileGrpcService extends UserResourceProfileServiceGrpc.UserResourceProfileServiceImplBase {
-
- private final UserResourceProfileService userResourceProfileService;
-
- public UserResourceProfileGrpcService(UserResourceProfileService userResourceProfileService) {
- this.userResourceProfileService = userResourceProfileService;
- }
-
- // --- User Resource Profiles ---
-
- @Override
- public void registerUserResourceProfile(
- RegisterUserResourceProfileRequest request, StreamObserver<RegisterUserResourceProfileResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- String id = userResourceProfileService.registerUserResourceProfile(ctx, request.getUserResourceProfile());
- observer.onNext(RegisterUserResourceProfileResponse.newBuilder()
- .setUserId(id)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void isUserResourceProfileExists(
- IsUserResourceProfileExistsRequest request, StreamObserver<IsUserResourceProfileExistsResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- boolean exists = userResourceProfileService.isUserResourceProfileExists(
- ctx, request.getUserId(), request.getGatewayId());
- observer.onNext(IsUserResourceProfileExistsResponse.newBuilder()
- .setExists(exists)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getUserResourceProfile(
- GetUserResourceProfileRequest request, StreamObserver<UserResourceProfile> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- UserResourceProfile result =
- userResourceProfileService.getUserResourceProfile(ctx, request.getUserId(), request.getGatewayId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateUserResourceProfile(UpdateUserResourceProfileRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.updateUserResourceProfile(
- ctx, request.getUserId(), request.getGatewayId(), request.getUserResourceProfile());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void deleteUserResourceProfile(DeleteUserResourceProfileRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.deleteUserResourceProfile(ctx, request.getUserId(), request.getGatewayId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAllUserResourceProfiles(
- GetAllUserResourceProfilesRequest request, StreamObserver<GetAllUserResourceProfilesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<UserResourceProfile> profiles = userResourceProfileService.getAllUserResourceProfiles(ctx);
- observer.onNext(GetAllUserResourceProfilesResponse.newBuilder()
- .addAllUserResourceProfiles(profiles)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- User Compute Preferences ---
-
- @Override
- public void addUserComputePreference(AddUserComputePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.addUserComputeResourcePreference(
- ctx,
- request.getUserId(),
- request.getGatewayId(),
- request.getComputeResourceId(),
- request.getUserComputeResourcePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getUserComputePreference(
- GetUserComputePreferenceRequest request, StreamObserver<UserComputeResourcePreference> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- UserComputeResourcePreference result = userResourceProfileService.getUserComputeResourcePreference(
- ctx, request.getUserId(), request.getGatewayId(), request.getComputeResourceId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateUserComputePreference(
- UpdateUserComputePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.updateUserComputeResourcePreference(
- ctx,
- request.getUserId(),
- request.getGatewayId(),
- request.getComputeResourceId(),
- request.getUserComputeResourcePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void deleteUserComputePreference(
- DeleteUserComputePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.deleteUserComputeResourcePreference(
- ctx, request.getUserId(), request.getGatewayId(), request.getComputeResourceId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAllUserComputePreferences(
- GetAllUserComputePreferencesRequest request,
- StreamObserver<GetAllUserComputePreferencesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<UserComputeResourcePreference> prefs = userResourceProfileService.getAllUserComputeResourcePreferences(
- ctx, request.getUserId(), request.getGatewayId());
- observer.onNext(GetAllUserComputePreferencesResponse.newBuilder()
- .addAllUserComputeResourcePreferences(prefs)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- User Storage Preferences ---
-
- @Override
- public void addUserStoragePreference(AddUserStoragePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.addUserStoragePreference(
- ctx,
- request.getUserId(),
- request.getGatewayId(),
- request.getStorageResourceId(),
- request.getUserStoragePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getUserStoragePreference(
- GetUserStoragePreferenceRequest request, StreamObserver<UserStoragePreference> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- UserStoragePreference result = userResourceProfileService.getUserStoragePreference(
- ctx, request.getUserId(), request.getGatewayId(), request.getStorageResourceId());
- observer.onNext(result);
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void updateUserStoragePreference(
- UpdateUserStoragePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.updateUserStoragePreference(
- ctx,
- request.getUserId(),
- request.getGatewayId(),
- request.getStorageResourceId(),
- request.getUserStoragePreference());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void deleteUserStoragePreference(
- DeleteUserStoragePreferenceRequest request, StreamObserver<Empty> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- userResourceProfileService.deleteUserStoragePreference(
- ctx, request.getUserId(), request.getGatewayId(), request.getStorageResourceId());
- observer.onNext(Empty.getDefaultInstance());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- @Override
- public void getAllUserStoragePreferences(
- GetAllUserStoragePreferencesRequest request,
- StreamObserver<GetAllUserStoragePreferencesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<UserStoragePreference> prefs = userResourceProfileService.getAllUserStoragePreferences(
- ctx, request.getUserId(), request.getGatewayId());
- observer.onNext(GetAllUserStoragePreferencesResponse.newBuilder()
- .addAllUserStoragePreferences(prefs)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-
- // --- Queue Statuses ---
-
- @Override
- public void getLatestQueueStatuses(
- GetLatestQueueStatusesRequest request, StreamObserver<GetLatestQueueStatusesResponse> observer) {
- try {
- RequestContext ctx = GrpcRequestContext.current();
- List<QueueStatusModel> statuses = userResourceProfileService.getLatestQueueStatuses(ctx);
- observer.onNext(GetLatestQueueStatusesResponse.newBuilder()
- .addAllQueueStatuses(statuses)
- .build());
- observer.onCompleted();
- } catch (Exception e) {
- observer.onError(GrpcStatusMapper.toStatusException(e));
- }
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/mapper/ComputeMapper.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/mapper/ComputeMapper.java
deleted file mode 100644
index cd92e361d0..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/mapper/ComputeMapper.java
+++ /dev/null
@@ -1,562 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.mapper;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.compute.model.*;
-import org.apache.airavata.mapper.CommonMapperConversions;
-import org.apache.airavata.model.appcatalog.computeresource.proto.BatchQueue;
-import org.apache.airavata.model.appcatalog.computeresource.proto.ComputeResourceDescription;
-import org.apache.airavata.model.appcatalog.computeresource.proto.FileSystems;
-import org.apache.airavata.model.appcatalog.computeresource.proto.ResourceJobManager;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.ComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.GatewayResourceProfile;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.BatchQueueResourcePolicy;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourcePolicy;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourceReservation;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.EnvironmentSpecificPreferences;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupAccountSSHProvisionerConfig;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupResourceProfile;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ResourceType;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.SlurmComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.userresourceprofile.proto.UserComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.userresourceprofile.proto.UserResourceProfile;
-import org.apache.airavata.model.appcatalog.userresourceprofile.proto.UserStoragePreference;
-import org.apache.airavata.model.status.proto.QueueStatusModel;
-import org.apache.airavata.model.workspace.proto.GatewayUsageReportingCommand;
-import org.mapstruct.AfterMapping;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.ReportingPolicy;
-import org.mapstruct.factory.Mappers;
-
-@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
-public interface ComputeMapper extends CommonMapperConversions {
-
- ComputeMapper INSTANCE = Mappers.getMapper(ComputeMapper.class);
-
- // --- ComputeResourceDescription ---
- default ComputeResourceDescription computeResourceToModel(ComputeResourceEntity entity) {
- if (entity == null) return null;
- ComputeResourceDescription.Builder b = ComputeResourceDescription.newBuilder();
- if (entity.getComputeResourceId() != null) b.setComputeResourceId(entity.getComputeResourceId());
- if (entity.getHostName() != null) b.setHostName(entity.getHostName());
- if (entity.getResourceDescription() != null) b.setResourceDescription(entity.getResourceDescription());
- b.setEnabled(entity.getEnabled() != 0);
- b.setMaxMemoryPerNode(entity.getMaxMemoryPerNode());
- b.setGatewayUsageReporting(entity.isGatewayUsageReporting());
- b.setSshPort(entity.getSshPort());
- if (entity.getResourceJobManager() != null)
- b.setResourceJobManager(resourceJobManagerToModel(entity.getResourceJobManager()));
- if (entity.getGatewayUsageModuleLoadCommand() != null)
- b.setGatewayUsageModuleLoadCommand(entity.getGatewayUsageModuleLoadCommand());
- if (entity.getGatewayUsageExecutable() != null) b.setGatewayUsageExecutable(entity.getGatewayUsageExecutable());
- if (entity.getCpusPerNode() != null) b.setCpusPerNode(entity.getCpusPerNode());
- if (entity.getDefaultNodeCount() != null) b.setDefaultNodeCount(entity.getDefaultNodeCount());
- if (entity.getDefaultCPUCount() != null) b.setDefaultCpuCount(entity.getDefaultCPUCount());
- if (entity.getDefaultWalltime() != null) b.setDefaultWalltime(entity.getDefaultWalltime());
- if (entity.getHostAliases() != null) b.addAllHostAliases(entity.getHostAliases());
- if (entity.getIpAddresses() != null) b.addAllIpAddresses(entity.getIpAddresses());
- if (entity.getBatchQueues() != null) {
- entity.getBatchQueues().forEach(q -> b.addBatchQueues(batchQueueToModel(q)));
- }
- if (entity.getFileSystems() != null) {
- for (Map<String, Object> entry : entity.getFileSystems()) {
- String fsName = (String) entry.get("fileSystem");
- String path = (String) entry.getOrDefault("path", "");
- if (fsName != null) {
- try {
- FileSystems fs = FileSystems.valueOf(fsName);
- b.putFileSystems(fs.getNumber(), path);
- } catch (IllegalArgumentException ignored) {
- }
- }
- }
- }
- return b.build();
- }
-
- default ComputeResourceEntity computeResourceToEntity(ComputeResourceDescription model) {
- if (model == null) return null;
- ComputeResourceEntity entity = new ComputeResourceEntity();
- entity.setComputeResourceId(model.getComputeResourceId());
- entity.setHostName(model.getHostName());
- entity.setResourceDescription(model.getResourceDescription());
- entity.setEnabled(model.getEnabled() ? (short) 1 : (short) 0);
- entity.setMaxMemoryPerNode(model.getMaxMemoryPerNode());
- entity.setGatewayUsageReporting(model.getGatewayUsageReporting());
- entity.setSshPort(model.getSshPort());
- if (model.hasResourceJobManager())
- entity.setResourceJobManager(resourceJobManagerToEntity(model.getResourceJobManager()));
- entity.setGatewayUsageModuleLoadCommand(model.getGatewayUsageModuleLoadCommand());
- entity.setGatewayUsageExecutable(model.getGatewayUsageExecutable());
- entity.setCpusPerNode(model.getCpusPerNode());
- entity.setDefaultNodeCount(model.getDefaultNodeCount());
- entity.setDefaultCPUCount(model.getDefaultCpuCount());
- entity.setDefaultWalltime(model.getDefaultWalltime());
- if (!model.getHostAliasesList().isEmpty()) entity.setHostAliases(model.getHostAliasesList());
- if (!model.getIpAddressesList().isEmpty()) entity.setIpAddresses(model.getIpAddressesList());
- if (!model.getBatchQueuesList().isEmpty()) {
- entity.setBatchQueues(model.getBatchQueuesList().stream()
- .map(this::batchQueueToEntity)
- .toList());
- }
- if (!model.getFileSystemsMap().isEmpty()) {
- List<Map<String, Object>> fsList = new ArrayList<>();
- model.getFileSystemsMap().forEach((fsNumber, path) -> {
- FileSystems fs = FileSystems.forNumber(fsNumber);
- if (fs != null) {
- Map<String, Object> entry = new LinkedHashMap<>();
- entry.put("fileSystem", fs.name());
- entry.put("path", path);
- fsList.add(entry);
- }
- });
- entity.setFileSystems(fsList);
- }
- return entity;
- }
-
- // --- BatchQueue ---
- // The entity property is defaultCPUCount (acronym "CPU") but the proto property is
- // defaultCpuCount ("Cpu"); MapStruct's case-sensitive name matching would otherwise drop
- // it silently (unmappedTargetPolicy=IGNORE), leaving the queue's default core count as 0.
- @Mapping(source = "maxRuntime", target = "maxRunTime")
- @Mapping(source = "defaultCPUCount", target = "defaultCpuCount")
- BatchQueue batchQueueToModel(BatchQueueEntity entity);
-
- @Mapping(source = "maxRunTime", target = "maxRuntime")
- @Mapping(source = "defaultCpuCount", target = "defaultCPUCount")
- BatchQueueEntity batchQueueToEntity(BatchQueue model);
-
- // --- ResourceJobManager ---
- // Hand-written so the job_manager_commands map (proto map<int32,string> keyed by the
- // JobManagerCommand enum number) round-trips through the JOB_MANAGER_COMMAND child table.
- // MapStruct cannot match the proto map accessor to the entity's List<JobManagerCommandEntity>
- // and previously dropped the commands silently (sbatch/squeue/scancel were never persisted).
- default ResourceJobManager resourceJobManagerToModel(ResourceJobManagerEntity entity) {
- if (entity == null) return null;
- ResourceJobManager.Builder b = ResourceJobManager.newBuilder();
- if (entity.getResourceJobManagerId() != null) b.setResourceJobManagerId(entity.getResourceJobManagerId());
- if (entity.getResourceJobManagerType() != null) b.setResourceJobManagerType(entity.getResourceJobManagerType());
- if (entity.getJobManagerBinPath() != null) b.setJobManagerBinPath(entity.getJobManagerBinPath());
- if (entity.getPushMonitoringEndpoint() != null) b.setPushMonitoringEndpoint(entity.getPushMonitoringEndpoint());
- if (entity.getJobManagerCommands() != null) {
- for (JobManagerCommandEntity cmd : entity.getJobManagerCommands()) {
- if (cmd.getCommandType() != null && cmd.getCommand() != null) {
- b.putJobManagerCommands(cmd.getCommandType().getNumber(), cmd.getCommand());
- }
- }
- }
- return b.build();
- }
-
- default ResourceJobManagerEntity resourceJobManagerToEntity(ResourceJobManager model) {
- if (model == null) return null;
- ResourceJobManagerEntity entity = new ResourceJobManagerEntity();
- String rjmId = model.getResourceJobManagerId();
- if (rjmId == null || rjmId.isEmpty()) {
- rjmId = "RJM_" + java.util.UUID.randomUUID();
- }
- entity.setResourceJobManagerId(rjmId);
- if (model.getResourceJobManagerType() != null)
- entity.setResourceJobManagerType(model.getResourceJobManagerType());
- entity.setJobManagerBinPath(model.getJobManagerBinPath());
- entity.setPushMonitoringEndpoint(model.getPushMonitoringEndpoint());
- if (!model.getJobManagerCommandsMap().isEmpty()) {
- List<JobManagerCommandEntity> cmds = new ArrayList<>();
- for (Map.Entry<Integer, String> e : model.getJobManagerCommandsMap().entrySet()) {
- org.apache.airavata.model.appcatalog.computeresource.proto.JobManagerCommand type =
- org.apache.airavata.model.appcatalog.computeresource.proto.JobManagerCommand.forNumber(
- e.getKey());
- if (type == null) continue;
- JobManagerCommandEntity cmd = new JobManagerCommandEntity();
- cmd.setResourceJobManagerId(rjmId);
- cmd.setCommandType(type);
- cmd.setCommand(e.getValue());
- cmd.setResourceJobManager(entity);
- cmds.add(cmd);
- }
- entity.setJobManagerCommands(cmds);
- }
- return entity;
- }
-
- // --- GatewayResourceProfile / GatewayProfileEntity ---
- // MapStruct auto-maps the scalar tokens/IDs; the @AfterMapping hooks below add the repeated
- // compute_resource_preferences child list, which MapStruct does not match (proto's
- // getComputeResourcePreferencesList() vs entity property `computeResourcePreferences`).
- GatewayResourceProfile gatewayProfileToModel(GatewayProfileEntity entity);
-
- @AfterMapping
- default void afterGatewayProfileToModel(
- GatewayProfileEntity entity, @MappingTarget GatewayResourceProfile.Builder builder) {
- if (entity.getComputeResourcePreferences() != null) {
- for (ComputeResourcePreferenceEntity pref : entity.getComputeResourcePreferences()) {
- builder.addComputeResourcePreferences(computeResourcePrefToModel(pref));
- }
- }
- }
-
- GatewayProfileEntity gatewayProfileToEntity(GatewayResourceProfile model);
-
- @AfterMapping
- default void afterGatewayProfileToEntity(GatewayResourceProfile model, @MappingTarget GatewayProfileEntity entity) {
- if (!model.getComputeResourcePreferencesList().isEmpty()) {
- List<ComputeResourcePreferenceEntity> prefs = new ArrayList<>();
- for (ComputeResourcePreference pref : model.getComputeResourcePreferencesList()) {
- prefs.add(computeResourcePrefToEntity(pref));
- }
- entity.setComputeResourcePreferences(prefs);
- }
- }
-
- // --- ComputeResourcePreference ---
- default ComputeResourcePreference computeResourcePrefToModel(ComputeResourcePreferenceEntity entity) {
- if (entity == null) return null;
- ComputeResourcePreference.Builder b = ComputeResourcePreference.newBuilder();
- if (entity.getComputeResourceId() != null) b.setComputeResourceId(entity.getComputeResourceId());
- if (entity.getLoginUserName() != null) b.setLoginUserName(entity.getLoginUserName());
- b.setOverrideByAiravata(entity.isOverridebyAiravata());
- if (entity.getPreferredBatchQueue() != null) b.setPreferredBatchQueue(entity.getPreferredBatchQueue());
- if (entity.getQualityOfService() != null) b.setQualityOfService(entity.getQualityOfService());
- if (entity.getReservation() != null) b.setReservation(entity.getReservation());
- if (entity.getReservationStartTime() != null)
- b.setReservationStartTime(entity.getReservationStartTime().getTime());
- if (entity.getReservationEndTime() != null)
- b.setReservationEndTime(entity.getReservationEndTime().getTime());
- if (entity.getResourceSpecificCredentialStoreToken() != null)
- b.setResourceSpecificCredentialStoreToken(entity.getResourceSpecificCredentialStoreToken());
- if (entity.getScratchLocation() != null) b.setScratchLocation(entity.getScratchLocation());
- if (entity.getUsageReportingGatewayId() != null)
- b.setUsageReportingGatewayId(entity.getUsageReportingGatewayId());
- if (entity.getSshAccountProvisioner() != null) b.setSshAccountProvisioner(entity.getSshAccountProvisioner());
- if (entity.getSshAccountProvisionerAdditionalInfo() != null)
- b.setSshAccountProvisionerAdditionalInfo(entity.getSshAccountProvisionerAdditionalInfo());
- if (entity.getSshAccountProvisionerConfigurations() != null) {
- for (Map<String, Object> entry : entity.getSshAccountProvisionerConfigurations()) {
- String name = (String) entry.get("configName");
- String value = (String) entry.getOrDefault("configValue", "");
- if (name != null) b.putSshAccountProvisionerConfig(name, value);
- }
- }
- return b.build();
- }
-
- default ComputeResourcePreferenceEntity computeResourcePrefToEntity(ComputeResourcePreference model) {
- if (model == null) return null;
- ComputeResourcePreferenceEntity entity = new ComputeResourcePreferenceEntity();
- entity.setComputeResourceId(model.getComputeResourceId());
- entity.setLoginUserName(model.getLoginUserName());
- entity.setOverridebyAiravata(model.getOverrideByAiravata());
- entity.setPreferredBatchQueue(model.getPreferredBatchQueue());
- entity.setQualityOfService(model.getQualityOfService());
- entity.setReservation(model.getReservation());
- if (model.getReservationStartTime() != 0)
- entity.setReservationStartTime(new java.sql.Timestamp(model.getReservationStartTime()));
- if (model.getReservationEndTime() != 0)
- entity.setReservationEndTime(new java.sql.Timestamp(model.getReservationEndTime()));
- entity.setResourceSpecificCredentialStoreToken(model.getResourceSpecificCredentialStoreToken());
- entity.setScratchLocation(model.getScratchLocation());
- entity.setUsageReportingGatewayId(model.getUsageReportingGatewayId());
- entity.setSshAccountProvisioner(model.getSshAccountProvisioner());
- entity.setSshAccountProvisionerAdditionalInfo(model.getSshAccountProvisionerAdditionalInfo());
- if (!model.getSshAccountProvisionerConfigMap().isEmpty()) {
- List<Map<String, Object>> configs = new ArrayList<>();
- model.getSshAccountProvisionerConfigMap().forEach((name, value) -> {
- Map<String, Object> entry = new LinkedHashMap<>();
- entry.put("configName", name);
- entry.put("configValue", value);
- configs.add(entry);
- });
- entity.setSshAccountProvisionerConfigurations(configs);
- }
- return entity;
- }
-
- // --- GroupResourceProfile ---
- // Hand-written so the repeated child collections (compute preferences and the two policy
- // lists) are mapped: MapStruct does not match protobuf's repeated accessors
- // (getComputePreferencesList()) to the entity's `computePreferences` property and would
- // silently drop them in both directions.
- default GroupResourceProfile groupResourceProfileToModel(GroupResourceProfileEntity entity) {
- if (entity == null) return null;
- GroupResourceProfile.Builder b = GroupResourceProfile.newBuilder();
- if (entity.getGatewayId() != null) b.setGatewayId(entity.getGatewayId());
- if (entity.getGroupResourceProfileId() != null) b.setGroupResourceProfileId(entity.getGroupResourceProfileId());
- if (entity.getGroupResourceProfileName() != null)
- b.setGroupResourceProfileName(entity.getGroupResourceProfileName());
- if (entity.getCreationTime() != null) b.setCreationTime(entity.getCreationTime());
- if (entity.getUpdatedTime() != null) b.setUpdatedTime(entity.getUpdatedTime());
- if (entity.getDefaultCredentialStoreToken() != null)
- b.setDefaultCredentialStoreToken(entity.getDefaultCredentialStoreToken());
- if (entity.getComputePreferences() != null) {
- for (GroupComputeResourcePrefEntity pref : entity.getComputePreferences()) {
- b.addComputePreferences(groupComputePrefToModel(pref));
- }
- }
- if (entity.getComputeResourcePolicies() != null) {
- for (ComputeResourcePolicyEntity policy : entity.getComputeResourcePolicies()) {
- b.addComputeResourcePolicies(computeResourcePolicyToModel(policy));
- }
- }
- if (entity.getBatchQueueResourcePolicies() != null) {
- for (BatchQueueResourcePolicyEntity policy : entity.getBatchQueueResourcePolicies()) {
- b.addBatchQueueResourcePolicies(batchQueuePolicyToModel(policy));
- }
- }
- return b.build();
- }
-
- default GroupResourceProfileEntity groupResourceProfileToEntity(GroupResourceProfile model) {
- if (model == null) return null;
- GroupResourceProfileEntity entity = new GroupResourceProfileEntity();
- entity.setGatewayId(model.getGatewayId());
- entity.setGroupResourceProfileId(model.getGroupResourceProfileId());
- entity.setGroupResourceProfileName(model.getGroupResourceProfileName());
- entity.setCreationTime(model.getCreationTime());
- entity.setUpdatedTime(model.getUpdatedTime());
- entity.setDefaultCredentialStoreToken(model.getDefaultCredentialStoreToken());
- if (!model.getComputePreferencesList().isEmpty()) {
- List<GroupComputeResourcePrefEntity> prefs = new ArrayList<>();
- for (GroupComputeResourcePreference pref : model.getComputePreferencesList()) {
- prefs.add(groupComputePrefToEntity(pref));
- }
- entity.setComputePreferences(prefs);
- }
- if (!model.getComputeResourcePoliciesList().isEmpty()) {
- List<ComputeResourcePolicyEntity> policies = new ArrayList<>();
- for (ComputeResourcePolicy policy : model.getComputeResourcePoliciesList()) {
- policies.add(computeResourcePolicyToEntity(policy));
- }
- entity.setComputeResourcePolicies(policies);
- }
- if (!model.getBatchQueueResourcePoliciesList().isEmpty()) {
- List<BatchQueueResourcePolicyEntity> policies = new ArrayList<>();
- for (BatchQueueResourcePolicy policy : model.getBatchQueueResourcePoliciesList()) {
- policies.add(batchQueuePolicyToEntity(policy));
- }
- entity.setBatchQueueResourcePolicies(policies);
- }
- return entity;
- }
-
- // --- GroupComputeResourcePreference ---
- // Hand-written so the Slurm-variant nested message (specific_preferences oneof) and its repeated
- // child lists (reservations, group_ssh_account_provisioner_configs) are mapped: MapStruct maps
- // only the base scalars and silently drops the nested EnvironmentSpecificPreferences plus the
- // repeated children that live on the SlurmGroupComputeResourcePrefEntity subclass.
- default GroupComputeResourcePreference groupComputePrefToModel(GroupComputeResourcePrefEntity entity) {
- if (entity == null) return null;
- GroupComputeResourcePreference.Builder b = GroupComputeResourcePreference.newBuilder();
- if (entity.getComputeResourceId() != null) b.setComputeResourceId(entity.getComputeResourceId());
- if (entity.getGroupResourceProfileId() != null) b.setGroupResourceProfileId(entity.getGroupResourceProfileId());
- b.setOverrideByAiravata(entity.getOverridebyAiravata() != 0);
- if (entity.getLoginUserName() != null) b.setLoginUserName(entity.getLoginUserName());
- if (entity.getScratchLocation() != null) b.setScratchLocation(entity.getScratchLocation());
- if (entity.getResourceSpecificCredentialStoreToken() != null)
- b.setResourceSpecificCredentialStoreToken(entity.getResourceSpecificCredentialStoreToken());
- if (entity instanceof SlurmGroupComputeResourcePrefEntity slurm) {
- b.setResourceType(ResourceType.SLURM);
- SlurmComputeResourcePreference.Builder s = SlurmComputeResourcePreference.newBuilder();
- if (slurm.getAllocationProjectNumber() != null)
- s.setAllocationProjectNumber(slurm.getAllocationProjectNumber());
- if (slurm.getPreferredBatchQueue() != null) s.setPreferredBatchQueue(slurm.getPreferredBatchQueue());
- if (slurm.getQualityOfService() != null) s.setQualityOfService(slurm.getQualityOfService());
- if (slurm.getUsageReportingGatewayId() != null)
- s.setUsageReportingGatewayId(slurm.getUsageReportingGatewayId());
- if (slurm.getSshAccountProvisioner() != null) s.setSshAccountProvisioner(slurm.getSshAccountProvisioner());
- if (slurm.getSshAccountProvisionerAdditionalInfo() != null)
- s.setSshAccountProvisionerAdditionalInfo(slurm.getSshAccountProvisionerAdditionalInfo());
- if (slurm.getGroupSSHAccountProvisionerConfigs() != null) {
- for (Map<String, Object> entry : slurm.getGroupSSHAccountProvisionerConfigs()) {
- GroupAccountSSHProvisionerConfig.Builder c = GroupAccountSSHProvisionerConfig.newBuilder();
- Object resourceId = entry.get("resourceId");
- Object groupResourceProfileId = entry.get("groupResourceProfileId");
- Object configName = entry.get("configName");
- Object configValue = entry.get("configValue");
- if (resourceId != null) c.setResourceId((String) resourceId);
- if (groupResourceProfileId != null) c.setGroupResourceProfileId((String) groupResourceProfileId);
- if (configName != null) c.setConfigName((String) configName);
- if (configValue != null) c.setConfigValue((String) configValue);
- s.addGroupSshAccountProvisionerConfigs(c.build());
- }
- }
- if (slurm.getReservations() != null) {
- for (ComputeResourceReservationEntity r : slurm.getReservations()) {
- s.addReservations(reservationToModel(r));
- }
- }
- b.setSpecificPreferences(
- EnvironmentSpecificPreferences.newBuilder().setSlurm(s).build());
- }
- return b.build();
- }
-
- // Uses SlurmGroupComputeResourcePrefEntity as the default concrete type
- default SlurmGroupComputeResourcePrefEntity groupComputePrefToEntity(GroupComputeResourcePreference model) {
- if (model == null) return null;
- SlurmGroupComputeResourcePrefEntity entity = new SlurmGroupComputeResourcePrefEntity();
- entity.setComputeResourceId(model.getComputeResourceId());
- entity.setGroupResourceProfileId(model.getGroupResourceProfileId());
- entity.setOverridebyAiravata(model.getOverrideByAiravata() ? (short) 1 : (short) 0);
- entity.setLoginUserName(model.getLoginUserName());
- entity.setScratchLocation(model.getScratchLocation());
- entity.setResourceSpecificCredentialStoreToken(model.getResourceSpecificCredentialStoreToken());
- if (model.hasSpecificPreferences()
- && model.getSpecificPreferences().getPreferencesCase()
- == EnvironmentSpecificPreferences.PreferencesCase.SLURM) {
- SlurmComputeResourcePreference slurm =
- model.getSpecificPreferences().getSlurm();
- entity.setAllocationProjectNumber(slurm.getAllocationProjectNumber());
- entity.setPreferredBatchQueue(slurm.getPreferredBatchQueue());
- entity.setQualityOfService(slurm.getQualityOfService());
- entity.setUsageReportingGatewayId(slurm.getUsageReportingGatewayId());
- entity.setSshAccountProvisioner(slurm.getSshAccountProvisioner());
- entity.setSshAccountProvisionerAdditionalInfo(slurm.getSshAccountProvisionerAdditionalInfo());
- if (!slurm.getGroupSshAccountProvisionerConfigsList().isEmpty()) {
- List<Map<String, Object>> configs = new ArrayList<>();
- for (GroupAccountSSHProvisionerConfig c : slurm.getGroupSshAccountProvisionerConfigsList()) {
- Map<String, Object> entry = new LinkedHashMap<>();
- entry.put("resourceId", c.getResourceId());
- entry.put("groupResourceProfileId", c.getGroupResourceProfileId());
- entry.put("configName", c.getConfigName());
- entry.put("configValue", c.getConfigValue());
- configs.add(entry);
- }
- entity.setGroupSSHAccountProvisionerConfigs(configs);
- }
- if (!slurm.getReservationsList().isEmpty()) {
- List<ComputeResourceReservationEntity> reservations = new ArrayList<>();
- for (ComputeResourceReservation r : slurm.getReservationsList()) {
- reservations.add(reservationToEntity(r));
- }
- entity.setReservations(reservations);
- }
- }
- return entity;
- }
-
- // --- ComputeResourceReservation ---
- default ComputeResourceReservation reservationToModel(ComputeResourceReservationEntity entity) {
- if (entity == null) return null;
- ComputeResourceReservation.Builder b = ComputeResourceReservation.newBuilder();
- if (entity.getReservationId() != null) b.setReservationId(entity.getReservationId());
- if (entity.getReservationName() != null) b.setReservationName(entity.getReservationName());
- if (entity.getQueueNames() != null) b.addAllQueueNames(entity.getQueueNames());
- if (entity.getStartTime() != null) b.setStartTime(entity.getStartTime().getTime());
- if (entity.getEndTime() != null) b.setEndTime(entity.getEndTime().getTime());
- return b.build();
- }
-
- default ComputeResourceReservationEntity reservationToEntity(ComputeResourceReservation model) {
- if (model == null) return null;
- ComputeResourceReservationEntity entity = new ComputeResourceReservationEntity();
- entity.setReservationId(model.getReservationId());
- entity.setReservationName(model.getReservationName());
- if (!model.getQueueNamesList().isEmpty()) entity.setQueueNames(new ArrayList<>(model.getQueueNamesList()));
- if (model.getStartTime() != 0) entity.setStartTime(new java.sql.Timestamp(model.getStartTime()));
- if (model.getEndTime() != 0) entity.setEndTime(new java.sql.Timestamp(model.getEndTime()));
- return entity;
- }
-
- // --- ComputeResourcePolicy ---
- // MapStruct maps the scalar IDs; the @AfterMapping hooks add the repeated allowed_batch_queues
- // list, which it does not match (proto's getAllowedBatchQueuesList() vs entity collection).
- ComputeResourcePolicy computeResourcePolicyToModel(ComputeResourcePolicyEntity entity);
-
- @AfterMapping
- default void afterComputeResourcePolicyToModel(
- ComputeResourcePolicyEntity entity, @MappingTarget ComputeResourcePolicy.Builder builder) {
- if (entity.getAllowedBatchQueues() != null) {
- builder.addAllAllowedBatchQueues(entity.getAllowedBatchQueues());
- }
- }
-
- ComputeResourcePolicyEntity computeResourcePolicyToEntity(ComputeResourcePolicy model);
-
- @AfterMapping
- default void afterComputeResourcePolicyToEntity(
- ComputeResourcePolicy model, @MappingTarget ComputeResourcePolicyEntity entity) {
- if (!model.getAllowedBatchQueuesList().isEmpty()) {
- entity.setAllowedBatchQueues(new ArrayList<>(model.getAllowedBatchQueuesList()));
- }
- }
-
- // --- BatchQueueResourcePolicy ---
- BatchQueueResourcePolicy batchQueuePolicyToModel(BatchQueueResourcePolicyEntity entity);
-
- BatchQueueResourcePolicyEntity batchQueuePolicyToEntity(BatchQueueResourcePolicy model);
-
- // --- UserResourceProfile ---
- // MapStruct auto-maps the scalar tokens/IDs; the @AfterMapping hooks below add the repeated
- // user_compute_resource_preferences child list, which MapStruct does not match (proto's
- // getUserComputeResourcePreferencesList() vs entity property `userComputeResourcePreferences`).
- UserResourceProfile userResourceProfileToModel(UserResourceProfileEntity entity);
-
- @AfterMapping
- default void afterUserResourceProfileToModel(
- UserResourceProfileEntity entity, @MappingTarget UserResourceProfile.Builder builder) {
- if (entity.getUserComputeResourcePreferences() != null) {
- for (UserComputeResourcePreferenceEntity pref : entity.getUserComputeResourcePreferences()) {
- builder.addUserComputeResourcePreferences(userComputeResourcePrefToModel(pref));
- }
- }
- }
-
- UserResourceProfileEntity userResourceProfileToEntity(UserResourceProfile model);
-
- @AfterMapping
- default void afterUserResourceProfileToEntity(
- UserResourceProfile model, @MappingTarget UserResourceProfileEntity entity) {
- if (!model.getUserComputeResourcePreferencesList().isEmpty()) {
- List<UserComputeResourcePreferenceEntity> prefs = new ArrayList<>();
- for (UserComputeResourcePreference pref : model.getUserComputeResourcePreferencesList()) {
- prefs.add(userComputeResourcePrefToEntity(pref));
- }
- entity.setUserComputeResourcePreferences(prefs);
- }
- }
-
- // --- UserComputeResourcePreference ---
- UserComputeResourcePreference userComputeResourcePrefToModel(UserComputeResourcePreferenceEntity entity);
-
- UserComputeResourcePreferenceEntity userComputeResourcePrefToEntity(UserComputeResourcePreference model);
-
- // --- QueueStatus ---
- QueueStatusModel queueStatusToModel(QueueStatusEntity entity);
-
- QueueStatusEntity queueStatusToEntity(QueueStatusModel model);
-
- // --- GatewayUsageReportingCommand ---
- GatewayUsageReportingCommand gatewayUsageReportingCommandToModel(GatewayUsageReportingCommandEntity entity);
-
- GatewayUsageReportingCommandEntity gatewayUsageReportingCommandToEntity(GatewayUsageReportingCommand model);
-
- // --- UserStoragePreference ---
- UserStoragePreference userStoragePrefToModel(UserStoragePreferenceEntity entity);
-
- UserStoragePreferenceEntity userStoragePrefToEntity(UserStoragePreference model);
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/AWSGroupComputeResourcePrefEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/AWSGroupComputeResourcePrefEntity.java
deleted file mode 100644
index ffabfe7ffb..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/AWSGroupComputeResourcePrefEntity.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.Column;
-import jakarta.persistence.DiscriminatorValue;
-import jakarta.persistence.Entity;
-import jakarta.persistence.PrimaryKeyJoinColumn;
-import jakarta.persistence.PrimaryKeyJoinColumns;
-import jakarta.persistence.Table;
-
-/**
- * The persistent class for the aws_group_compute_resource_preference database table.
- */
-@Entity
-@DiscriminatorValue("AWS")
-@Table(name = "AWS_GROUP_COMPUTE_RESOURCE_PREFERENCE")
-@PrimaryKeyJoinColumns({
- @PrimaryKeyJoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID"),
- @PrimaryKeyJoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", referencedColumnName = "GROUP_RESOURCE_PROFILE_ID")
-})
-public class AWSGroupComputeResourcePrefEntity extends GroupComputeResourcePrefEntity {
-
- @Column(name = "AWS_REGION", nullable = false)
- private String region;
-
- @Column(name = "PREFERRED_AMI_ID", nullable = false)
- private String preferredAmiId;
-
- @Column(name = "PREFERRED_INSTANCE_TYPE", nullable = false)
- private String preferredInstanceType;
-
- public AWSGroupComputeResourcePrefEntity() {}
-
- public String getRegion() {
- return region;
- }
-
- public void setRegion(String region) {
- this.region = region;
- }
-
- public String getPreferredAmiId() {
- return preferredAmiId;
- }
-
- public void setPreferredAmiId(String preferredAmiId) {
- this.preferredAmiId = preferredAmiId;
- }
-
- public String getPreferredInstanceType() {
- return preferredInstanceType;
- }
-
- public void setPreferredInstanceType(String preferredInstanceType) {
- this.preferredInstanceType = preferredInstanceType;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueueEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueueEntity.java
deleted file mode 100644
index f8a0b361f1..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueueEntity.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-
-/**
- * The persistent class for the batch_queue database table.
- */
-@Entity
-@Table(name = "BATCH_QUEUE")
-@IdClass(BatchQueuePK.class)
-public class BatchQueueEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "COMPUTE_RESOURCE_ID")
- private String computeResourceId;
-
- @Id
- @Column(name = "QUEUE_NAME")
- private String queueName;
-
- @Column(name = "MAX_JOB_IN_QUEUE")
- private int maxJobsInQueue;
-
- @Column(name = "MAX_MEMORY")
- private int maxMemory;
-
- @Column(name = "MAX_NODES")
- private int maxNodes;
-
- @Column(name = "MAX_PROCESSORS")
- private int maxProcessors;
-
- @Column(name = "MAX_RUNTIME")
- private int maxRuntime;
-
- @Column(name = "QUEUE_DESCRIPTION")
- private String queueDescription;
-
- @ManyToOne(targetEntity = ComputeResourceEntity.class, cascade = CascadeType.MERGE)
- @JoinColumn(name = "COMPUTE_RESOURCE_ID", insertable = false, updatable = false)
- private ComputeResourceEntity computeResource;
-
- @Column(name = "CPU_PER_NODE")
- private int cpuPerNode;
-
- @Column(name = "DEFAULT_NODE_COUNT")
- private int defaultNodeCount;
-
- @Column(name = "DEFAULT_CPU_COUNT")
- private int defaultCPUCount;
-
- @Column(name = "DEFAULT_WALLTIME")
- private int defaultWalltime;
-
- @Column(name = "QUEUE_SPECIFIC_MACROS")
- private String queueSpecificMacros;
-
- @Column(name = "IS_DEFAULT_QUEUE")
- private boolean isDefaultQueue;
-
- public BatchQueueEntity() {}
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public int getMaxJobsInQueue() {
- return maxJobsInQueue;
- }
-
- public void setMaxJobsInQueue(int maxJobsInQueue) {
- this.maxJobsInQueue = maxJobsInQueue;
- }
-
- public int getMaxMemory() {
- return maxMemory;
- }
-
- public void setMaxMemory(int maxMemory) {
- this.maxMemory = maxMemory;
- }
-
- public int getMaxNodes() {
- return maxNodes;
- }
-
- public void setMaxNodes(int maxNodes) {
- this.maxNodes = maxNodes;
- }
-
- public int getMaxProcessors() {
- return maxProcessors;
- }
-
- public void setMaxProcessors(int maxProcessors) {
- this.maxProcessors = maxProcessors;
- }
-
- public int getMaxRuntime() {
- return maxRuntime;
- }
-
- public void setMaxRuntime(int maxRuntime) {
- this.maxRuntime = maxRuntime;
- }
-
- public String getQueueDescription() {
- return queueDescription;
- }
-
- public void setQueueDescription(String queueDescription) {
- this.queueDescription = queueDescription;
- }
-
- public ComputeResourceEntity getComputeResource() {
- return computeResource;
- }
-
- public void setComputeResource(ComputeResourceEntity computeResource) {
- this.computeResource = computeResource;
- }
-
- public int getCpuPerNode() {
- return cpuPerNode;
- }
-
- public void setCpuPerNode(int cpuPerNode) {
- this.cpuPerNode = cpuPerNode;
- }
-
- public int getDefaultNodeCount() {
- return defaultNodeCount;
- }
-
- public void setDefaultNodeCount(int defaultNodeCount) {
- this.defaultNodeCount = defaultNodeCount;
- }
-
- public int getDefaultCPUCount() {
- return defaultCPUCount;
- }
-
- public void setDefaultCPUCount(int defaultCPUCount) {
- this.defaultCPUCount = defaultCPUCount;
- }
-
- public int getDefaultWalltime() {
- return defaultWalltime;
- }
-
- public void setDefaultWalltime(int defaultWalltime) {
- this.defaultWalltime = defaultWalltime;
- }
-
- public String getQueueSpecificMacros() {
- return queueSpecificMacros;
- }
-
- public void setQueueSpecificMacros(String queueSpecificMacros) {
- this.queueSpecificMacros = queueSpecificMacros;
- }
-
- public boolean getIsDefaultQueue() {
- return isDefaultQueue;
- }
-
- public void setIsDefaultQueue(boolean defaultQueue) {
- isDefaultQueue = defaultQueue;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueuePK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueuePK.java
deleted file mode 100644
index e182a6f293..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueuePK.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the batch_queue database table.
- *
- */
-public class BatchQueuePK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String computeResourceId;
- private String queueName;
-
- public BatchQueuePK() {}
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof BatchQueuePK)) {
- return false;
- }
- BatchQueuePK castOther = (BatchQueuePK) other;
- return this.computeResourceId.equals(castOther.computeResourceId) && this.queueName.equals(castOther.queueName);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.computeResourceId.hashCode();
- hash = hash * prime + this.queueName.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueueResourcePolicyEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueueResourcePolicyEntity.java
deleted file mode 100644
index 00c0c7194f..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/BatchQueueResourcePolicyEntity.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-import java.io.Serializable;
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
-
-/**
- * The persistent class for the batch_queue_resource_policy database table.
- */
-@Entity
-@Table(name = "BATCH_QUEUE_RESOURCE_POLICY")
-public class BatchQueueResourcePolicyEntity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_POLICY_ID")
- private String resourcePolicyId;
-
- @Column(name = "COMPUTE_RESOURCE_ID")
- private String computeResourceId;
-
- @Column(name = "GROUP_RESOURCE_PROFILE_ID", insertable = false, updatable = false)
- private String groupResourceProfileId;
-
- @Column(name = "QUEUE_NAME")
- private String queuename;
-
- @Column(name = "MAX_ALLOWED_NODES")
- private Integer maxAllowedNodes;
-
- @Column(name = "MAX_ALLOWED_CORES")
- private Integer maxAllowedCores;
-
- @Column(name = "MAX_ALLOWED_WALLTIME")
- private Integer maxAllowedWalltime;
-
- @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
- @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, insertable = false, updatable = false)
- @OnDelete(action = OnDeleteAction.CASCADE)
- private GroupResourceProfileEntity groupResourceProfile;
-
- public BatchQueueResourcePolicyEntity() {}
-
- public String getResourcePolicyId() {
- return resourcePolicyId;
- }
-
- public void setResourcePolicyId(String resourcePolicyId) {
- this.resourcePolicyId = resourcePolicyId;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getGroupResourceProfileId() {
- return groupResourceProfileId;
- }
-
- public void setGroupResourceProfileId(String groupResourceProfileId) {
- this.groupResourceProfileId = groupResourceProfileId;
- }
-
- public String getQueuename() {
- return queuename;
- }
-
- public void setQueuename(String queuename) {
- this.queuename = queuename;
- }
-
- public Integer getMaxAllowedNodes() {
- return maxAllowedNodes;
- }
-
- public void setMaxAllowedNodes(Integer maxAllowedNodes) {
- this.maxAllowedNodes = maxAllowedNodes;
- }
-
- public Integer getMaxAllowedCores() {
- return maxAllowedCores;
- }
-
- public void setMaxAllowedCores(Integer maxAllowedCores) {
- this.maxAllowedCores = maxAllowedCores;
- }
-
- public Integer getMaxAllowedWalltime() {
- return maxAllowedWalltime;
- }
-
- public void setMaxAllowedWalltime(Integer maxAllowedWalltime) {
- this.maxAllowedWalltime = maxAllowedWalltime;
- }
-
- public GroupResourceProfileEntity getGroupResourceProfile() {
- return groupResourceProfile;
- }
-
- public void setGroupResourceProfile(GroupResourceProfileEntity groupResourceProfile) {
- this.groupResourceProfile = groupResourceProfile;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputationalResourceSchedulingEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputationalResourceSchedulingEntity.java
deleted file mode 100644
index 57d934bfb7..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputationalResourceSchedulingEntity.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-
-/**
- * Persistent class for computational_resource_scheduling data table.
- */
-@Entity
-@Table(name = "COMPUTE_RESOURCE_SCHEDULING")
-@IdClass(ComputationalResourceSchedulingPK.class)
-public class ComputationalResourceSchedulingEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "EXPERIMENT_ID")
- private String experimentId;
-
- @Id
- @Column(name = "RESOURCE_HOST_ID")
- private String resourceHostId;
-
- @Id
- @Column(name = "QUEUE_NAME")
- private String queueName;
-
- @Column(name = "TOTAL_CPU_COUNT")
- private int totalCPUCount;
-
- @Column(name = "NODE_COUNT")
- private int nodeCount;
-
- @Column(name = "NUMBER_OF_THREADS")
- private int numberOfThreads;
-
- @Column(name = "WALL_TIME_LIMIT")
- private int wallTimeLimit;
-
- @Column(name = "PARALLEL_GROUP_COUNT")
- private int mGroupCount;
-
- @Column(name = "TOTAL_PHYSICAL_MEMORY")
- private int totalPhysicalMemory;
-
- @Column(name = "STATIC_WORKING_DIR")
- private String staticWorkingDir;
-
- @Column(name = "OVERRIDE_LOGIN_USER_NAME")
- private String overrideLoginUserName;
-
- @Column(name = "OVERRIDE_SCRATCH_LOCATION")
- private String overrideScratchLocation;
-
- @Column(name = "OVERRIDE_ALLOCATION_PROJECT_NUMBER")
- private String overrideAllocationProjectNumber;
-
- public ComputationalResourceSchedulingEntity() {}
-
- public String getExperimentId() {
- return experimentId;
- }
-
- public void setExperimentId(String experimentId) {
- this.experimentId = experimentId;
- }
-
- public String getResourceHostId() {
- return resourceHostId;
- }
-
- public void setResourceHostId(String resourceHostId) {
- this.resourceHostId = resourceHostId;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public int getTotalCPUCount() {
- return totalCPUCount;
- }
-
- public void setTotalCPUCount(int totalCPUCount) {
- this.totalCPUCount = totalCPUCount;
- }
-
- public int getNodeCount() {
- return nodeCount;
- }
-
- public void setNodeCount(int nodeCount) {
- this.nodeCount = nodeCount;
- }
-
- public int getNumberOfThreads() {
- return numberOfThreads;
- }
-
- public void setNumberOfThreads(int numberOfThreads) {
- this.numberOfThreads = numberOfThreads;
- }
-
- public int getWallTimeLimit() {
- return wallTimeLimit;
- }
-
- public void setWallTimeLimit(int wallTimeLimit) {
- this.wallTimeLimit = wallTimeLimit;
- }
-
- public int getTotalPhysicalMemory() {
- return totalPhysicalMemory;
- }
-
- public void setTotalPhysicalMemory(int totalPhysicalMemory) {
- this.totalPhysicalMemory = totalPhysicalMemory;
- }
-
- public String getStaticWorkingDir() {
- return staticWorkingDir;
- }
-
- public void setStaticWorkingDir(String staticWorkingDir) {
- this.staticWorkingDir = staticWorkingDir;
- }
-
- public String getOverrideLoginUserName() {
- return overrideLoginUserName;
- }
-
- public void setOverrideLoginUserName(String overrideLoginUserName) {
- this.overrideLoginUserName = overrideLoginUserName;
- }
-
- public String getOverrideScratchLocation() {
- return overrideScratchLocation;
- }
-
- public void setOverrideScratchLocation(String overrideScratchLocation) {
- this.overrideScratchLocation = overrideScratchLocation;
- }
-
- public String getOverrideAllocationProjectNumber() {
- return overrideAllocationProjectNumber;
- }
-
- public void setOverrideAllocationProjectNumber(String overrideAllocationProjectNumber) {
- this.overrideAllocationProjectNumber = overrideAllocationProjectNumber;
- }
-
- public int getmGroupCount() {
- return mGroupCount;
- }
-
- public void setmGroupCount(int mGroupCount) {
- this.mGroupCount = mGroupCount;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputationalResourceSchedulingPK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputationalResourceSchedulingPK.java
deleted file mode 100644
index b8dc1ec8a8..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputationalResourceSchedulingPK.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-public class ComputationalResourceSchedulingPK implements Serializable {
- private static final long serialVersionUID = 1L;
-
- private String experimentId;
- private String resourceHostId;
- private String queueName;
-
- public ComputationalResourceSchedulingPK() {}
-
- public String getExperimentId() {
- return experimentId;
- }
-
- public void setExperimentId(String experimentId) {
- this.experimentId = experimentId;
- }
-
- public String getResourceHostId() {
- return resourceHostId;
- }
-
- public void setResourceHostId(String resourceHostId) {
- this.resourceHostId = resourceHostId;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof ComputationalResourceSchedulingPK)) {
- return false;
- }
- ComputationalResourceSchedulingPK castOther = (ComputationalResourceSchedulingPK) other;
- return this.experimentId.equals(castOther.experimentId)
- && this.resourceHostId.equals(castOther.resourceHostId)
- && this.queueName.equals(castOther.queueName);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.experimentId.hashCode();
- hash = hash * prime + this.resourceHostId.hashCode();
- hash = hash * prime + this.queueName.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourceEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourceEntity.java
deleted file mode 100644
index 26187664da..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourceEntity.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.db.JsonListConverter;
-
-/**
- * The persistent class for the compute_resource database table.
- */
-@Entity
-@Table(name = "COMPUTE_RESOURCE")
-public class ComputeResourceEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_ID", insertable = false, updatable = false)
- private String computeResourceId;
-
- @Column(name = "CREATION_TIME")
- private Timestamp creationTime;
-
- @Column(name = "ENABLED")
- private short enabled;
-
- @Column(name = "GATEWAY_USAGE_EXECUTABLE")
- private String gatewayUsageExecutable;
-
- @Column(name = "GATEWAY_USAGE_MODULE_LOAD_CMD")
- private String gatewayUsageModuleLoadCommand;
-
- @Column(name = "GATEWAY_USAGE_REPORTING")
- private boolean gatewayUsageReporting;
-
- @Column(name = "HOST_NAME")
- private String hostName;
-
- @Column(name = "MAX_MEMORY_NODE")
- private int maxMemoryPerNode;
-
- @Column(name = "SSH_PORT")
- private int sshPort;
-
- @Column(name = "RESOURCE_DESCRIPTION")
- private String resourceDescription;
-
- @Column(name = "UPDATE_TIME")
- private Timestamp updateTime;
-
- @Column(name = "CPUS_PER_NODE")
- private Integer cpusPerNode;
-
- @Column(name = "DEFAULT_NODE_COUNT")
- private Integer defaultNodeCount;
-
- @Column(name = "DEFAULT_CPU_COUNT")
- private Integer defaultCPUCount;
-
- @Column(name = "DEFAULT_WALLTIME")
- private Integer defaultWalltime;
-
- @ElementCollection(fetch = FetchType.EAGER)
- @CollectionTable(name = "HOST_ALIAS", joinColumns = @JoinColumn(name = "RESOURCE_ID"))
- @Column(name = "ALIAS")
- private List<String> hostAliases;
-
- @ElementCollection(fetch = FetchType.EAGER)
- @CollectionTable(name = "HOST_IPADDRESS", joinColumns = @JoinColumn(name = "RESOURCE_ID"))
- @Column(name = "IP_ADDRESS")
- private List<String> ipAddresses;
-
- @Lob
- @Column(name = "FILE_SYSTEMS_JSON")
- @Convert(converter = JsonListConverter.class)
- private List<Map<String, Object>> fileSystems;
-
- @OneToMany(
- targetEntity = BatchQueueEntity.class,
- cascade = CascadeType.ALL,
- orphanRemoval = true,
- mappedBy = "computeResource",
- fetch = FetchType.EAGER)
- private List<BatchQueueEntity> batchQueues;
-
- @ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.EAGER)
- @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", referencedColumnName = "RESOURCE_JOB_MANAGER_ID")
- private ResourceJobManagerEntity resourceJobManager;
-
- public ComputeResourceEntity() {}
-
- public Timestamp getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Timestamp creationTime) {
- this.creationTime = creationTime;
- }
-
- public short getEnabled() {
- return enabled;
- }
-
- public void setEnabled(short enabled) {
- this.enabled = enabled;
- }
-
- public String getGatewayUsageExecutable() {
- return gatewayUsageExecutable;
- }
-
- public void setGatewayUsageExecutable(String gatewayUsageExecutable) {
- this.gatewayUsageExecutable = gatewayUsageExecutable;
- }
-
- public boolean isGatewayUsageReporting() {
- return gatewayUsageReporting;
- }
-
- public void setGatewayUsageReporting(boolean gatewayUsageReporting) {
- this.gatewayUsageReporting = gatewayUsageReporting;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getGatewayUsageModuleLoadCommand() {
- return gatewayUsageModuleLoadCommand;
- }
-
- public void setGatewayUsageModuleLoadCommand(String gatewayUsageModuleLoadCommand) {
- this.gatewayUsageModuleLoadCommand = gatewayUsageModuleLoadCommand;
- }
-
- public int getMaxMemoryPerNode() {
- return maxMemoryPerNode;
- }
-
- public void setMaxMemoryPerNode(int maxMemoryPerNode) {
- this.maxMemoryPerNode = maxMemoryPerNode;
- }
-
- public int getSshPort() {
- return sshPort;
- }
-
- public void setSshPort(int sshPort) {
- this.sshPort = sshPort;
- }
-
- public ResourceJobManagerEntity getResourceJobManager() {
- return resourceJobManager;
- }
-
- public void setResourceJobManager(ResourceJobManagerEntity resourceJobManager) {
- this.resourceJobManager = resourceJobManager;
- }
-
- public String getHostName() {
- return hostName;
- }
-
- public void setHostName(String hostName) {
- this.hostName = hostName;
- }
-
- public String getResourceDescription() {
- return resourceDescription;
- }
-
- public void setResourceDescription(String resourceDescription) {
- this.resourceDescription = resourceDescription;
- }
-
- public Timestamp getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Timestamp updateTime) {
- this.updateTime = updateTime;
- }
-
- public Integer getCpusPerNode() {
- return cpusPerNode;
- }
-
- public void setCpusPerNode(Integer cpusPerNode) {
- this.cpusPerNode = cpusPerNode;
- }
-
- public Integer getDefaultNodeCount() {
- return defaultNodeCount;
- }
-
- public void setDefaultNodeCount(Integer defaultNodeCount) {
- this.defaultNodeCount = defaultNodeCount;
- }
-
- public Integer getDefaultCPUCount() {
- return defaultCPUCount;
- }
-
- public void setDefaultCPUCount(Integer defaultCPUCount) {
- this.defaultCPUCount = defaultCPUCount;
- }
-
- public Integer getDefaultWalltime() {
- return defaultWalltime;
- }
-
- public void setDefaultWalltime(Integer defaultWalltime) {
- this.defaultWalltime = defaultWalltime;
- }
-
- public List<String> getHostAliases() {
- return hostAliases;
- }
-
- public void setHostAliases(List<String> hostAliases) {
- this.hostAliases = hostAliases;
- }
-
- public List<String> getIpAddresses() {
- return ipAddresses;
- }
-
- public void setIpAddresses(List<String> ipAddresses) {
- this.ipAddresses = ipAddresses;
- }
-
- public List<BatchQueueEntity> getBatchQueues() {
- return batchQueues;
- }
-
- public void setBatchQueues(List<BatchQueueEntity> batchQueues) {
- this.batchQueues = batchQueues;
- }
-
- public List<Map<String, Object>> getFileSystems() {
- return fileSystems;
- }
-
- public void setFileSystems(List<Map<String, Object>> fileSystems) {
- this.fileSystems = fileSystems;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePolicyEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePolicyEntity.java
deleted file mode 100644
index cc1d8a040f..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePolicyEntity.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.CollectionTable;
-import jakarta.persistence.Column;
-import jakarta.persistence.ElementCollection;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-import java.io.Serializable;
-import java.util.List;
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
-
-/**
- * The persistent class for the compute_resource_policy database table.
- */
-@Entity
-@Table(name = "COMPUTE_RESOURCE_POLICY")
-public class ComputeResourcePolicyEntity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_POLICY_ID", insertable = false, updatable = false)
- private String resourcePolicyId;
-
- @Column(name = "COMPUTE_RESOURCE_ID")
- private String computeResourceId;
-
- @Column(name = "GROUP_RESOURCE_PROFILE_ID", insertable = false, updatable = false)
- private String groupResourceProfileId;
-
- // TODO: Store COMPUTE_RESOURCE_ID and QUEUE_NAME in table so it can FK to BATCH_QUEUE
- @ElementCollection(fetch = FetchType.EAGER)
- @CollectionTable(
- name = "COMPUTE_RESOURCE_POLICY_QUEUES",
- joinColumns = {@JoinColumn(name = "RESOURCE_POLICY_ID")})
- @Column(name = "QUEUE_NAME")
- private List<String> allowedBatchQueues;
-
- @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
- @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, insertable = false, updatable = false)
- @OnDelete(action = OnDeleteAction.CASCADE)
- private GroupResourceProfileEntity groupResourceProfile;
-
- public ComputeResourcePolicyEntity() {}
-
- public String getResourcePolicyId() {
- return resourcePolicyId;
- }
-
- public void setResourcePolicyId(String resourcePolicyId) {
- this.resourcePolicyId = resourcePolicyId;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getGroupResourceProfileId() {
- return groupResourceProfileId;
- }
-
- public void setGroupResourceProfileId(String groupResourceProfileId) {
- this.groupResourceProfileId = groupResourceProfileId;
- }
-
- public List<String> getAllowedBatchQueues() {
- return allowedBatchQueues;
- }
-
- public void setAllowedBatchQueues(List<String> allowedBatchQueues) {
- this.allowedBatchQueues = allowedBatchQueues;
- }
-
- public GroupResourceProfileEntity getGroupResourceProfile() {
- return groupResourceProfile;
- }
-
- public void setGroupResourceProfile(GroupResourceProfileEntity groupResourceProfile) {
- this.groupResourceProfile = groupResourceProfile;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePreferenceEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePreferenceEntity.java
deleted file mode 100644
index fc38ef0226..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePreferenceEntity.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.db.JsonListConverter;
-
-/**
- * The persistent class for the compute_resource_preference database table.
- */
-@Entity
-@Table(name = "COMPUTE_RESOURCE_PREFERENCE")
-@IdClass(ComputeResourcePreferencePK.class)
-public class ComputeResourcePreferenceEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Column(name = "GATEWAY_ID")
- @Id
- private String gatewayId;
-
- @Column(name = "RESOURCE_ID")
- @Id
- private String computeResourceId;
-
- @Column(name = "ALLOCATION_PROJECT_NUMBER")
- private String allocationProjectNumber;
-
- @Column(name = "LOGIN_USERNAME")
- private String loginUserName;
-
- @Column(name = "OVERRIDE_BY_AIRAVATA")
- private boolean overridebyAiravata;
-
- @Column(name = "PREFERED_BATCH_QUEUE")
- private String preferredBatchQueue;
-
- @Column(name = "QUALITY_OF_SERVICE")
- private String qualityOfService;
-
- @Column(name = "RESERVATION")
- private String reservation;
-
- @Column(name = "RESERVATION_END_TIME")
- private Timestamp reservationEndTime;
-
- @Column(name = "RESERVATION_START_TIME")
- private Timestamp reservationStartTime;
-
- @Column(name = "RESOURCE_CS_TOKEN")
- private String resourceSpecificCredentialStoreToken;
-
- @Column(name = "SCRATCH_LOCATION")
- private String scratchLocation;
-
- @Column(name = "USAGE_REPORTING_GATEWAY_ID")
- private String usageReportingGatewayId;
-
- @Column(name = "SSH_ACCOUNT_PROVISIONER")
- private String sshAccountProvisioner;
-
- @Column(name = "SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO")
- private String sshAccountProvisionerAdditionalInfo;
-
- @Lob
- @Column(name = "SSH_PROVISIONER_CONFIG_JSON")
- @Convert(converter = JsonListConverter.class)
- private List<Map<String, Object>> sshAccountProvisionerConfigurations;
-
- @ManyToOne(targetEntity = GatewayProfileEntity.class, cascade = CascadeType.MERGE)
- @JoinColumn(name = "GATEWAY_ID")
- private GatewayProfileEntity gatewayProfileResource;
-
- public ComputeResourcePreferenceEntity() {}
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getAllocationProjectNumber() {
- return allocationProjectNumber;
- }
-
- public void setAllocationProjectNumber(String allocationProjectNumber) {
- this.allocationProjectNumber = allocationProjectNumber;
- }
-
- public String getQualityOfService() {
- return qualityOfService;
- }
-
- public void setQualityOfService(String qualityOfService) {
- this.qualityOfService = qualityOfService;
- }
-
- public String getReservation() {
- return reservation;
- }
-
- public void setReservation(String reservation) {
- this.reservation = reservation;
- }
-
- public Timestamp getReservationEndTime() {
- return reservationEndTime;
- }
-
- public void setReservationEndTime(Timestamp reservationEndTime) {
- this.reservationEndTime = reservationEndTime;
- }
-
- public Timestamp getReservationStartTime() {
- return reservationStartTime;
- }
-
- public void setReservationStartTime(Timestamp reservationStartTime) {
- this.reservationStartTime = reservationStartTime;
- }
-
- public String getScratchLocation() {
- return scratchLocation;
- }
-
- public void setScratchLocation(String scratchLocation) {
- this.scratchLocation = scratchLocation;
- }
-
- public String getUsageReportingGatewayId() {
- return usageReportingGatewayId;
- }
-
- public void setUsageReportingGatewayId(String usageReportingGatewayId) {
- this.usageReportingGatewayId = usageReportingGatewayId;
- }
-
- public String getSshAccountProvisioner() {
- return sshAccountProvisioner;
- }
-
- public void setSshAccountProvisioner(String sshAccountProvisioner) {
- this.sshAccountProvisioner = sshAccountProvisioner;
- }
-
- public String getSshAccountProvisionerAdditionalInfo() {
- return sshAccountProvisionerAdditionalInfo;
- }
-
- public void setSshAccountProvisionerAdditionalInfo(String sshAccountProvisionerAdditionalInfo) {
- this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
- }
-
- public GatewayProfileEntity getGatewayProfileResource() {
- return gatewayProfileResource;
- }
-
- public void setGatewayProfileResource(GatewayProfileEntity gatewayProfileResource) {
- this.gatewayProfileResource = gatewayProfileResource;
- }
-
- public String getLoginUserName() {
- return loginUserName;
- }
-
- public void setLoginUserName(String loginUserName) {
- this.loginUserName = loginUserName;
- }
-
- public boolean isOverridebyAiravata() {
- return overridebyAiravata;
- }
-
- public void setOverridebyAiravata(boolean overridebyAiravata) {
- this.overridebyAiravata = overridebyAiravata;
- }
-
- public String getPreferredBatchQueue() {
- return preferredBatchQueue;
- }
-
- public void setPreferredBatchQueue(String preferredBatchQueue) {
- this.preferredBatchQueue = preferredBatchQueue;
- }
-
- public String getResourceSpecificCredentialStoreToken() {
- return resourceSpecificCredentialStoreToken;
- }
-
- public void setResourceSpecificCredentialStoreToken(String resourceSpecificCredentialStoreToken) {
- this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
- }
-
- public List<Map<String, Object>> getSshAccountProvisionerConfigurations() {
- return sshAccountProvisionerConfigurations;
- }
-
- public void setSshAccountProvisionerConfigurations(List<Map<String, Object>> sshAccountProvisionerConfigurations) {
- this.sshAccountProvisionerConfigurations = sshAccountProvisionerConfigurations;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePreferencePK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePreferencePK.java
deleted file mode 100644
index 44da15781a..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourcePreferencePK.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the compute_resource_preference database table.
- */
-public class ComputeResourcePreferencePK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String gatewayId;
- private String computeResourceId;
-
- public ComputeResourcePreferencePK() {}
-
- public ComputeResourcePreferencePK(String gatewayId, String computeResourceId) {
- this.gatewayId = gatewayId;
- this.computeResourceId = computeResourceId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof ComputeResourcePreferencePK)) {
- return false;
- }
- ComputeResourcePreferencePK castOther = (ComputeResourcePreferencePK) other;
- return this.gatewayId.equals(castOther.gatewayId) && this.computeResourceId.equals(castOther.computeResourceId);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.gatewayId.hashCode();
- hash = hash * prime + this.computeResourceId.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourceReservationEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourceReservationEntity.java
deleted file mode 100644
index c4170b897d..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ComputeResourceReservationEntity.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.CollectionTable;
-import jakarta.persistence.Column;
-import jakarta.persistence.ElementCollection;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.Id;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.JoinColumns;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-import java.io.Serializable;
-import java.sql.Timestamp;
-import java.util.List;
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
-
-/**
- * The persistent class for the COMPUTE_RESOURCE_RESERVATION database table.
- */
-@Entity
-@Table(name = "COMPUTE_RESOURCE_RESERVATION")
-public class ComputeResourceReservationEntity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESERVATION_ID", insertable = false, updatable = false)
- private String reservationId;
-
- @Column(name = "RESERVATION_NAME", nullable = false)
- private String reservationName;
-
- @Column(name = "START_TIME", nullable = false)
- private Timestamp startTime;
-
- @Column(name = "END_TIME", nullable = false)
- private Timestamp endTime;
-
- @ElementCollection(fetch = FetchType.EAGER)
- @CollectionTable(name = "COMPUTE_RESOURCE_RESERVATION_QUEUE", joinColumns = @JoinColumn(name = "RESERVATION_ID"))
- @Column(name = "QUEUE_NAME", nullable = false)
- private List<String> queueNames;
-
- // TODO: FK queue table to BatchQueueEntity?
-
- @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class)
- @JoinColumns({
- @JoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID", nullable = false, updatable = false),
- @JoinColumn(
- name = "GROUP_RESOURCE_PROFILE_ID",
- referencedColumnName = "GROUP_RESOURCE_PROFILE_ID",
- nullable = false,
- updatable = false)
- })
- @OnDelete(action = OnDeleteAction.CASCADE)
- private GroupComputeResourcePrefEntity groupComputeResourcePref;
-
- public ComputeResourceReservationEntity() {}
-
- public String getReservationId() {
- return reservationId;
- }
-
- public void setReservationId(String reservationId) {
- this.reservationId = reservationId;
- }
-
- public String getReservationName() {
- return reservationName;
- }
-
- public void setReservationName(String reservationName) {
- this.reservationName = reservationName;
- }
-
- public Timestamp getStartTime() {
- return startTime;
- }
-
- public void setStartTime(Timestamp startTime) {
- this.startTime = startTime;
- }
-
- public Timestamp getEndTime() {
- return endTime;
- }
-
- public void setEndTime(Timestamp endTime) {
- this.endTime = endTime;
- }
-
- public List<String> getQueueNames() {
- return queueNames;
- }
-
- public void setQueueNames(List<String> queueNames) {
- this.queueNames = queueNames;
- }
-
- public GroupComputeResourcePrefEntity getGroupComputeResourcePref() {
- return groupComputeResourcePref;
- }
-
- public void setGroupComputeResourcePref(GroupComputeResourcePrefEntity groupComputeResourcePref) {
- this.groupComputeResourcePref = groupComputeResourcePref;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayProfileEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayProfileEntity.java
deleted file mode 100644
index 780613849d..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayProfileEntity.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-import java.util.List;
-
-/**
- * The persistent class for the gateway_profile database table.
- */
-@Entity
-@Table(name = "GATEWAY_PROFILE")
-public class GatewayProfileEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- @Column(name = "CREATION_TIME")
- private Timestamp creationTime;
-
- @Column(name = "CS_TOKEN")
- private String credentialStoreToken;
-
- @Column(name = "IDENTITY_SERVER_PWD_CRED_TOKEN")
- private String identityServerPwdCredToken;
-
- @Column(name = "IDENTITY_SERVER_TENANT")
- private String identityServerTenant;
-
- @Column(name = "UPDATE_TIME")
- private Timestamp updateTime;
-
- @OneToMany(
- targetEntity = ComputeResourcePreferenceEntity.class,
- cascade = CascadeType.ALL,
- mappedBy = "gatewayProfileResource",
- fetch = FetchType.EAGER)
- private List<ComputeResourcePreferenceEntity> computeResourcePreferences;
-
- public GatewayProfileEntity() {}
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public Timestamp getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Timestamp creationTime) {
- this.creationTime = creationTime;
- }
-
- public String getCredentialStoreToken() {
- return credentialStoreToken;
- }
-
- public void setCredentialStoreToken(String credentialStoreToken) {
- this.credentialStoreToken = credentialStoreToken;
- }
-
- public String getIdentityServerPwdCredToken() {
- return identityServerPwdCredToken;
- }
-
- public void setIdentityServerPwdCredToken(String identityServerPwdCredToken) {
- this.identityServerPwdCredToken = identityServerPwdCredToken;
- }
-
- public String getIdentityServerTenant() {
- return identityServerTenant;
- }
-
- public void setIdentityServerTenant(String identityServerTenant) {
- this.identityServerTenant = identityServerTenant;
- }
-
- public Timestamp getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Timestamp updateTime) {
- this.updateTime = updateTime;
- }
-
- public List<ComputeResourcePreferenceEntity> getComputeResourcePreferences() {
- return computeResourcePreferences;
- }
-
- public void setComputeResourcePreferences(List<ComputeResourcePreferenceEntity> computeResourcePreferences) {
- this.computeResourcePreferences = computeResourcePreferences;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayUsageReportingCommandEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayUsageReportingCommandEntity.java
deleted file mode 100644
index 6ec83e7f5e..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayUsageReportingCommandEntity.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "GATEWAY_USAGE_REPORTING_COMMAND")
-@IdClass(GatewayUsageReportingPK.class)
-public class GatewayUsageReportingCommandEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- @Id
- @Column(name = "COMPUTE_RESOURCE_ID")
- private String computeResourceId;
-
- @Lob
- @Column(name = "COMMAND")
- private String command;
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getCommand() {
- return command;
- }
-
- public void setCommand(String command) {
- this.command = command;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayUsageReportingPK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayUsageReportingPK.java
deleted file mode 100644
index 94e546de11..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GatewayUsageReportingPK.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-public class GatewayUsageReportingPK implements Serializable {
- private static final long serialVersionUID = 1L;
-
- private String gatewayId;
- private String computeResourceId;
-
- public GatewayUsageReportingPK() {}
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof GatewayUsageReportingPK)) {
- return false;
- }
- GatewayUsageReportingPK castOther = (GatewayUsageReportingPK) other;
- return this.gatewayId.equals(castOther.gatewayId) && this.computeResourceId.equals(castOther.computeResourceId);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.gatewayId.hashCode();
- hash = hash * prime + this.computeResourceId.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupComputeResourcePrefEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupComputeResourcePrefEntity.java
deleted file mode 100644
index a152a688b0..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupComputeResourcePrefEntity.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Column;
-import jakarta.persistence.DiscriminatorColumn;
-import jakarta.persistence.DiscriminatorType;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.IdClass;
-import jakarta.persistence.Inheritance;
-import jakarta.persistence.InheritanceType;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-import java.io.Serializable;
-import org.hibernate.annotations.OnDelete;
-import org.hibernate.annotations.OnDeleteAction;
-
-/**
- * The persistent class for the group_compute_resource_preference database table.
- */
-@Entity
-@Table(name = "GROUP_COMPUTE_RESOURCE_PREFERENCE")
-@Inheritance(strategy = InheritanceType.JOINED)
-@DiscriminatorColumn(name = "RESOURCE_TYPE", discriminatorType = DiscriminatorType.STRING)
-@IdClass(GroupComputeResourcePrefPK.class)
-public abstract class GroupComputeResourcePrefEntity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @Column(name = "RESOURCE_ID")
- @Id
- private String computeResourceId;
-
- @Column(name = "GROUP_RESOURCE_PROFILE_ID")
- @Id
- private String groupResourceProfileId;
-
- @Column(name = "LOGIN_USERNAME")
- private String loginUserName;
-
- @Column(name = "SCRATCH_LOCATION")
- private String scratchLocation;
-
- @Column(name = "OVERRIDE_BY_AIRAVATA")
- private short overridebyAiravata;
-
- @Column(name = "RESOURCE_CS_TOKEN")
- private String resourceSpecificCredentialStoreToken;
-
- @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.PERSIST)
- @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, insertable = false, updatable = false)
- @OnDelete(action = OnDeleteAction.CASCADE)
- private GroupResourceProfileEntity groupResourceProfile;
-
- public GroupComputeResourcePrefEntity() {}
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getGroupResourceProfileId() {
- return groupResourceProfileId;
- }
-
- public void setGroupResourceProfileId(String groupResourceProfileId) {
- this.groupResourceProfileId = groupResourceProfileId;
- }
-
- public String getLoginUserName() {
- return loginUserName;
- }
-
- public void setLoginUserName(String loginUserName) {
- this.loginUserName = loginUserName;
- }
-
- public String getScratchLocation() {
- return scratchLocation;
- }
-
- public void setScratchLocation(String scratchLocation) {
- this.scratchLocation = scratchLocation;
- }
-
- public short getOverridebyAiravata() {
- return overridebyAiravata;
- }
-
- public void setOverridebyAiravata(short overridebyAiravata) {
- this.overridebyAiravata = overridebyAiravata;
- }
-
- public String getResourceSpecificCredentialStoreToken() {
- return resourceSpecificCredentialStoreToken;
- }
-
- public void setResourceSpecificCredentialStoreToken(String resourceSpecificCredentialStoreToken) {
- this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
- }
-
- public GroupResourceProfileEntity getGroupResourceProfile() {
- return groupResourceProfile;
- }
-
- public void setGroupResourceProfile(GroupResourceProfileEntity groupResourceProfile) {
- this.groupResourceProfile = groupResourceProfile;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupComputeResourcePrefPK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupComputeResourcePrefPK.java
deleted file mode 100644
index f29ad647bc..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupComputeResourcePrefPK.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the group_compute_resource_preference database table.
- */
-public class GroupComputeResourcePrefPK implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private String computeResourceId;
- private String groupResourceProfileId;
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getGroupResourceProfileId() {
- return groupResourceProfileId;
- }
-
- public void setGroupResourceProfileId(String groupResourceProfileId) {
- this.groupResourceProfileId = groupResourceProfileId;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- GroupComputeResourcePrefPK that = (GroupComputeResourcePrefPK) o;
-
- if (computeResourceId != null
- ? !computeResourceId.equals(that.computeResourceId)
- : that.computeResourceId != null) return false;
- return groupResourceProfileId != null
- ? groupResourceProfileId.equals(that.groupResourceProfileId)
- : that.groupResourceProfileId == null;
- }
-
- @Override
- public int hashCode() {
- int result = computeResourceId != null ? computeResourceId.hashCode() : 0;
- result = 31 * result + (groupResourceProfileId != null ? groupResourceProfileId.hashCode() : 0);
- return result;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupResourceProfileEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupResourceProfileEntity.java
deleted file mode 100644
index 1863703ef0..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/GroupResourceProfileEntity.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.Id;
-import jakarta.persistence.OneToMany;
-import jakarta.persistence.Table;
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * The persistent class for the group_resource_profile database table.
- */
-@Entity
-@Table(name = "GROUP_RESOURCE_PROFILE")
-public class GroupResourceProfileEntity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "GROUP_RESOURCE_PROFILE_ID")
- private String groupResourceProfileId;
-
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- @Column(name = "GROUP_RESOURCE_PROFILE_NAME")
- private String groupResourceProfileName;
-
- // TODO: change these timestamp to actual Timestamp
- @Column(name = "CREATION_TIME", updatable = false)
- private Long creationTime;
-
- @Column(name = "UPDATE_TIME")
- private Long updatedTime;
-
- @Column(name = "DEFAULT_CREDENTIAL_STORE_TOKEN")
- private String defaultCredentialStoreToken;
-
- @OneToMany(
- targetEntity = GroupComputeResourcePrefEntity.class,
- cascade = CascadeType.ALL,
- mappedBy = "groupResourceProfile",
- fetch = FetchType.EAGER,
- orphanRemoval = true)
- private List<GroupComputeResourcePrefEntity> computePreferences;
-
- @OneToMany(
- targetEntity = ComputeResourcePolicyEntity.class,
- cascade = CascadeType.ALL,
- mappedBy = "groupResourceProfile",
- fetch = FetchType.EAGER,
- orphanRemoval = true)
- private List<ComputeResourcePolicyEntity> computeResourcePolicies;
-
- @OneToMany(
- targetEntity = BatchQueueResourcePolicyEntity.class,
- cascade = CascadeType.ALL,
- mappedBy = "groupResourceProfile",
- fetch = FetchType.EAGER,
- orphanRemoval = true)
- private List<BatchQueueResourcePolicyEntity> batchQueueResourcePolicies;
-
- public GroupResourceProfileEntity() {}
-
- public String getGroupResourceProfileId() {
- return groupResourceProfileId;
- }
-
- public void setGroupResourceProfileId(String groupResourceProfileId) {
- this.groupResourceProfileId = groupResourceProfileId;
- }
-
- public String getGroupResourceProfileName() {
- return groupResourceProfileName;
- }
-
- public void setGroupResourceProfileName(String groupResourceProfileName) {
- this.groupResourceProfileName = groupResourceProfileName;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public Long getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Long creationTime) {
- this.creationTime = creationTime;
- }
-
- public Long getUpdatedTime() {
- return updatedTime;
- }
-
- public void setUpdatedTime(Long updatedTime) {
- this.updatedTime = updatedTime;
- }
-
- public String getDefaultCredentialStoreToken() {
- return defaultCredentialStoreToken;
- }
-
- public void setDefaultCredentialStoreToken(String defaultCredentialStoreToken) {
- this.defaultCredentialStoreToken = defaultCredentialStoreToken;
- }
-
- public List<GroupComputeResourcePrefEntity> getComputePreferences() {
- return computePreferences;
- }
-
- public void setComputePreferences(List<GroupComputeResourcePrefEntity> computePreferences) {
- this.computePreferences = computePreferences;
- }
-
- public List<ComputeResourcePolicyEntity> getComputeResourcePolicies() {
- return computeResourcePolicies;
- }
-
- public void setComputeResourcePolicies(List<ComputeResourcePolicyEntity> computeResourcePolicies) {
- this.computeResourcePolicies = computeResourcePolicies;
- }
-
- public List<BatchQueueResourcePolicyEntity> getBatchQueueResourcePolicies() {
- return batchQueueResourcePolicies;
- }
-
- public void setBatchQueueResourcePolicies(List<BatchQueueResourcePolicyEntity> batchQueueResourcePolicies) {
- this.batchQueueResourcePolicies = batchQueueResourcePolicies;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/JobManagerCommandEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/JobManagerCommandEntity.java
deleted file mode 100644
index a0a24df5bd..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/JobManagerCommandEntity.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import org.apache.airavata.model.appcatalog.computeresource.proto.JobManagerCommand;
-
-/**
- * The persistent class for the job_manager_command database table.
- */
-@Entity
-@Table(name = "JOB_MANAGER_COMMAND")
-@IdClass(JobManagerCommandPK.class)
-public class JobManagerCommandEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_JOB_MANAGER_ID")
- private String resourceJobManagerId;
-
- @Id
- @Column(name = "COMMAND_TYPE")
- @Enumerated(EnumType.STRING)
- private JobManagerCommand commandType;
-
- @Column(name = "COMMAND")
- private String command;
-
- @ManyToOne(cascade = CascadeType.MERGE)
- @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", insertable = false, updatable = false)
- private ResourceJobManagerEntity resourceJobManager;
-
- public JobManagerCommandEntity() {}
-
- public String getResourceJobManagerId() {
- return resourceJobManagerId;
- }
-
- public void setResourceJobManagerId(String resourceJobManagerId) {
- this.resourceJobManagerId = resourceJobManagerId;
- }
-
- public JobManagerCommand getCommandType() {
- return commandType;
- }
-
- public void setCommandType(JobManagerCommand commandType) {
- this.commandType = commandType;
- }
-
- public ResourceJobManagerEntity getResourceJobManager() {
- return resourceJobManager;
- }
-
- public void setResourceJobManager(ResourceJobManagerEntity resourceJobManager) {
- this.resourceJobManager = resourceJobManager;
- }
-
- public String getCommand() {
- return command;
- }
-
- public void setCommand(String command) {
- this.command = command;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/JobManagerCommandPK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/JobManagerCommandPK.java
deleted file mode 100644
index 2e2c7350fc..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/JobManagerCommandPK.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-import org.apache.airavata.model.appcatalog.computeresource.proto.JobManagerCommand;
-
-/**
- * The primary key class for the job_manager_command database table.
- */
-public class JobManagerCommandPK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String resourceJobManagerId;
- private JobManagerCommand commandType;
-
- public JobManagerCommandPK() {}
-
- public String getResourceJobManagerId() {
- return resourceJobManagerId;
- }
-
- public void setResourceJobManagerId(String resourceJobManagerId) {
- this.resourceJobManagerId = resourceJobManagerId;
- }
-
- public JobManagerCommand getCommandType() {
- return commandType;
- }
-
- public void setCommandType(JobManagerCommand commandType) {
- this.commandType = commandType;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof JobManagerCommandPK)) {
- return false;
- }
- JobManagerCommandPK castOther = (JobManagerCommandPK) other;
- return this.resourceJobManagerId.equals(castOther.resourceJobManagerId)
- && this.commandType.equals(castOther.commandType);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.resourceJobManagerId.hashCode();
- hash = hash * prime + this.commandType.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ParallelismCommandEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ParallelismCommandEntity.java
deleted file mode 100644
index 19a4d5fd10..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ParallelismCommandEntity.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import org.apache.airavata.model.parallelism.proto.ApplicationParallelismType;
-
-/**
- * The persistent class for the parallelism_command database table.
- */
-@Entity
-@Table(name = "PARALLELISM_COMMAND")
-@IdClass(ParallelismCommandPK.class)
-public class ParallelismCommandEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_JOB_MANAGER_ID")
- private String resourceJobManagerId;
-
- @Id
- @Column(name = "COMMAND_TYPE")
- @Enumerated(EnumType.STRING)
- private ApplicationParallelismType commandType;
-
- @Column(name = "COMMAND")
- private String command;
-
- @ManyToOne(cascade = CascadeType.MERGE)
- @JoinColumn(name = "RESOURCE_JOB_MANAGER_ID", insertable = false, updatable = false)
- private ResourceJobManagerEntity resourceJobManager;
-
- public ParallelismCommandEntity() {}
-
- public String getResourceJobManagerId() {
- return resourceJobManagerId;
- }
-
- public void setResourceJobManagerId(String resourceJobManagerId) {
- this.resourceJobManagerId = resourceJobManagerId;
- }
-
- public ApplicationParallelismType getCommandType() {
- return commandType;
- }
-
- public void setCommandType(ApplicationParallelismType commandType) {
- this.commandType = commandType;
- }
-
- public String getCommand() {
- return command;
- }
-
- public void setCommand(String command) {
- this.command = command;
- }
-
- public ResourceJobManagerEntity getResourceJobManager() {
- return resourceJobManager;
- }
-
- public void setResourceJobManager(ResourceJobManagerEntity resourceJobManager) {
- this.resourceJobManager = resourceJobManager;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ParallelismCommandPK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ParallelismCommandPK.java
deleted file mode 100644
index f5c4a6f846..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ParallelismCommandPK.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-import org.apache.airavata.model.parallelism.proto.ApplicationParallelismType;
-
-/**
- * The primary key class for the parallelism_command database table.
- */
-public class ParallelismCommandPK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String resourceJobManagerId;
- private ApplicationParallelismType commandType;
-
- public ParallelismCommandPK() {}
-
- public String getResourceJobManagerId() {
- return resourceJobManagerId;
- }
-
- public void setResourceJobManagerId(String resourceJobManagerId) {
- this.resourceJobManagerId = resourceJobManagerId;
- }
-
- public ApplicationParallelismType getCommandType() {
- return commandType;
- }
-
- public void setCommandType(ApplicationParallelismType commandType) {
- this.commandType = commandType;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof ParallelismCommandPK)) {
- return false;
- }
- ParallelismCommandPK castOther = (ParallelismCommandPK) other;
- return this.resourceJobManagerId.equals(castOther.resourceJobManagerId)
- && this.commandType.equals(castOther.commandType);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.resourceJobManagerId.hashCode();
- hash = hash * prime + this.commandType.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ProcessResourceScheduleEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ProcessResourceScheduleEntity.java
deleted file mode 100644
index 3208059081..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ProcessResourceScheduleEntity.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-
-/**
- * The persistent class for the process_resource_schedule database table.
- */
-@Entity
-@Table(name = "PROCESS_RESOURCE_SCHEDULE")
-public class ProcessResourceScheduleEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "PROCESS_ID")
- private String processId;
-
- @Column(name = "RESOURCE_HOST_ID")
- private String resourceHostId;
-
- @Column(name = "TOTAL_CPU_COUNT")
- private int totalCPUCount;
-
- @Column(name = "NODE_COUNT")
- private int nodeCount;
-
- @Column(name = "NUMBER_OF_THREADS")
- private int numberOfThreads;
-
- @Column(name = "QUEUE_NAME")
- private String queueName;
-
- @Column(name = "WALL_TIME_LIMIT")
- private int wallTimeLimit;
-
- @Column(name = "TOTAL_PHYSICAL_MEMORY")
- private int totalPhysicalMemory;
-
- @Column(name = "STATIC_WORKING_DIR")
- private String staticWorkingDir;
-
- @Column(name = "OVERRIDE_LOGIN_USER_NAME")
- private String overrideLoginUserName;
-
- @Column(name = "OVERRIDE_SCRATCH_LOCATION")
- private String overrideScratchLocation;
-
- @Column(name = "OVERRIDE_ALLOCATION_PROJECT_NUMBER")
- private String overrideAllocationProjectNumber;
-
- public ProcessResourceScheduleEntity() {}
-
- public String getProcessId() {
- return processId;
- }
-
- public void setProcessId(String processId) {
- this.processId = processId;
- }
-
- public String getResourceHostId() {
- return resourceHostId;
- }
-
- public void setResourceHostId(String resourceHostId) {
- this.resourceHostId = resourceHostId;
- }
-
- public int getTotalCPUCount() {
- return totalCPUCount;
- }
-
- public void setTotalCPUCount(int totalCPUCount) {
- this.totalCPUCount = totalCPUCount;
- }
-
- public int getNodeCount() {
- return nodeCount;
- }
-
- public void setNodeCount(int nodeCount) {
- this.nodeCount = nodeCount;
- }
-
- public int getNumberOfThreads() {
- return numberOfThreads;
- }
-
- public void setNumberOfThreads(int numberOfThreads) {
- this.numberOfThreads = numberOfThreads;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public int getWallTimeLimit() {
- return wallTimeLimit;
- }
-
- public void setWallTimeLimit(int wallTimeLimit) {
- this.wallTimeLimit = wallTimeLimit;
- }
-
- public int getTotalPhysicalMemory() {
- return totalPhysicalMemory;
- }
-
- public void setTotalPhysicalMemory(int totalPhysicalMemory) {
- this.totalPhysicalMemory = totalPhysicalMemory;
- }
-
- public String getStaticWorkingDir() {
- return staticWorkingDir;
- }
-
- public void setStaticWorkingDir(String staticWorkingDir) {
- this.staticWorkingDir = staticWorkingDir;
- }
-
- public String getOverrideAllocationProjectNumber() {
- return overrideAllocationProjectNumber;
- }
-
- public void setOverrideAllocationProjectNumber(String overrideAllocationProjectNumber) {
- this.overrideAllocationProjectNumber = overrideAllocationProjectNumber;
- }
-
- public String getOverrideLoginUserName() {
- return overrideLoginUserName;
- }
-
- public void setOverrideLoginUserName(String overrideLoginUserName) {
- this.overrideLoginUserName = overrideLoginUserName;
- }
-
- public String getOverrideScratchLocation() {
- return overrideScratchLocation;
- }
-
- public void setOverrideScratchLocation(String overrideScratchLocation) {
- this.overrideScratchLocation = overrideScratchLocation;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/QueueStatusEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/QueueStatusEntity.java
deleted file mode 100644
index 9bcf88f291..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/QueueStatusEntity.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import java.math.BigInteger;
-
-/**
- * The persistent class for the queue_status database table.
- */
-@Entity
-@Table(name = "QUEUE_STATUS")
-@IdClass(QueueStatusPK.class)
-public class QueueStatusEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "HOST_NAME")
- private String hostName;
-
- @Id
- @Column(name = "QUEUE_NAME")
- private String queueName;
-
- @Id
- @Column(name = "CREATED_TIME")
- private BigInteger time;
-
- @Column(name = "QUEUE_UP")
- private boolean queueUp;
-
- @Column(name = "RUNNING_JOBS")
- private int runningJobs;
-
- @Column(name = "QUEUED_JOBS")
- private int queuedJobs;
-
- public QueueStatusEntity() {}
-
- public String getHostName() {
- return hostName;
- }
-
- public void setHostName(String hostName) {
- this.hostName = hostName;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public BigInteger getTime() {
- return time;
- }
-
- public void setTime(BigInteger time) {
- this.time = time;
- }
-
- public boolean isQueueUp() {
- return queueUp;
- }
-
- public void setQueueUp(boolean queueUp) {
- this.queueUp = queueUp;
- }
-
- public int getRunningJobs() {
- return runningJobs;
- }
-
- public void setRunningJobs(int runningJobs) {
- this.runningJobs = runningJobs;
- }
-
- public int getQueuedJobs() {
- return queuedJobs;
- }
-
- public void setQueuedJobs(int queuedJobs) {
- this.queuedJobs = queuedJobs;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/QueueStatusPK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/QueueStatusPK.java
deleted file mode 100644
index 09d308e981..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/QueueStatusPK.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-import java.math.BigInteger;
-
-/**
- * The primary key class for the queue_status database table.
- */
-public class QueueStatusPK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String hostName;
- private String queueName;
- private BigInteger time;
-
- public QueueStatusPK() {}
-
- public String getHostName() {
- return hostName;
- }
-
- public void setHostName(String hostName) {
- this.hostName = hostName;
- }
-
- public String getQueueName() {
- return queueName;
- }
-
- public void setQueueName(String queueName) {
- this.queueName = queueName;
- }
-
- public BigInteger getTime() {
- return time;
- }
-
- public void setTime(BigInteger time) {
- this.time = time;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof QueueStatusPK)) {
- return false;
- }
- QueueStatusPK castOther = (QueueStatusPK) other;
- return this.hostName.equals(castOther.hostName)
- && this.queueName.equals(castOther.queueName)
- && this.time.equals(castOther.time);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.hostName.hashCode();
- hash = hash * prime + this.queueName.hashCode();
- hash = hash * prime + this.time.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ResourceJobManagerEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ResourceJobManagerEntity.java
deleted file mode 100644
index ccf1ea1975..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/ResourceJobManagerEntity.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.airavata.model.appcatalog.computeresource.proto.ResourceJobManagerType;
-import org.apache.airavata.util.AiravataUtils;
-
-/**
- * The persistent class for the resource_job_manager database table.
- */
-@Entity
-@Table(name = "RESOURCE_JOB_MANAGER")
-public class ResourceJobManagerEntity implements Serializable {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_JOB_MANAGER_ID")
- private String resourceJobManagerId;
-
- @Column(name = "CREATION_TIME", nullable = false, updatable = false)
- private Timestamp creationTime = AiravataUtils.getCurrentTimestamp();
-
- @Column(name = "JOB_MANAGER_BIN_PATH")
- private String jobManagerBinPath;
-
- @Column(name = "PUSH_MONITORING_ENDPOINT")
- private String pushMonitoringEndpoint;
-
- @Column(name = "RESOURCE_JOB_MANAGER_TYPE")
- @Enumerated(EnumType.STRING)
- private ResourceJobManagerType resourceJobManagerType;
-
- @Column(name = "UPDATE_TIME")
- private Timestamp updateTime;
-
- @OneToMany(mappedBy = "resourceJobManager", cascade = CascadeType.ALL, orphanRemoval = true)
- private List<JobManagerCommandEntity> jobManagerCommands = new ArrayList<>();
-
- @OneToMany(mappedBy = "resourceJobManager", cascade = CascadeType.ALL, orphanRemoval = true)
- private List<ParallelismCommandEntity> parallelismCommands = new ArrayList<>();
-
- public ResourceJobManagerEntity() {}
-
- public String getResourceJobManagerId() {
- return resourceJobManagerId;
- }
-
- public void setResourceJobManagerId(String resourceJobManagerId) {
- this.resourceJobManagerId = resourceJobManagerId;
- }
-
- public Timestamp getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Timestamp creationTime) {
- this.creationTime = creationTime;
- }
-
- public String getJobManagerBinPath() {
- return jobManagerBinPath;
- }
-
- public void setJobManagerBinPath(String jobManagerBinPath) {
- this.jobManagerBinPath = jobManagerBinPath;
- }
-
- public String getPushMonitoringEndpoint() {
- return pushMonitoringEndpoint;
- }
-
- public void setPushMonitoringEndpoint(String pushMonitoringEndpoint) {
- this.pushMonitoringEndpoint = pushMonitoringEndpoint;
- }
-
- public ResourceJobManagerType getResourceJobManagerType() {
- return resourceJobManagerType;
- }
-
- public void setResourceJobManagerType(ResourceJobManagerType resourceJobManagerType) {
- this.resourceJobManagerType = resourceJobManagerType;
- }
-
- public Timestamp getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Timestamp updateTime) {
- this.updateTime = updateTime;
- }
-
- public List<JobManagerCommandEntity> getJobManagerCommands() {
- return jobManagerCommands;
- }
-
- public void setJobManagerCommands(List<JobManagerCommandEntity> jobManagerCommands) {
- this.jobManagerCommands = jobManagerCommands;
- }
-
- public List<ParallelismCommandEntity> getParallelismCommands() {
- return parallelismCommands;
- }
-
- public void setParallelismCommands(List<ParallelismCommandEntity> parallelismCommands) {
- this.parallelismCommands = parallelismCommands;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/SlurmGroupComputeResourcePrefEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/SlurmGroupComputeResourcePrefEntity.java
deleted file mode 100644
index 44088a828b..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/SlurmGroupComputeResourcePrefEntity.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.CascadeType;
-import jakarta.persistence.Column;
-import jakarta.persistence.Convert;
-import jakarta.persistence.DiscriminatorValue;
-import jakarta.persistence.Entity;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.Lob;
-import jakarta.persistence.OneToMany;
-import jakarta.persistence.OrderBy;
-import jakarta.persistence.PrimaryKeyJoinColumn;
-import jakarta.persistence.PrimaryKeyJoinColumns;
-import jakarta.persistence.Table;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.db.JsonListConverter;
-
-/**
- * The persistent class for the slurm_group_compute_resource_preference database table.
- */
-@Entity
-@DiscriminatorValue("SLURM")
-@Table(name = "SLURM_GROUP_COMPUTE_RESOURCE_PREFERENCE")
-@PrimaryKeyJoinColumns({
- @PrimaryKeyJoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID"),
- @PrimaryKeyJoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", referencedColumnName = "GROUP_RESOURCE_PROFILE_ID")
-})
-public class SlurmGroupComputeResourcePrefEntity extends GroupComputeResourcePrefEntity {
-
- @Column(name = "ALLOCATION_PROJECT_NUMBER")
- private String allocationProjectNumber;
-
- @Column(name = "PREFERED_BATCH_QUEUE")
- private String preferredBatchQueue;
-
- @Column(name = "QUALITY_OF_SERVICE")
- private String qualityOfService;
-
- @Column(name = "USAGE_REPORTING_GATEWAY_ID")
- private String usageReportingGatewayId;
-
- @Column(name = "SSH_ACCOUNT_PROVISIONER")
- private String sshAccountProvisioner;
-
- @Column(name = "SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO")
- private String sshAccountProvisionerAdditionalInfo;
-
- @Lob
- @Column(name = "SSH_PROVISIONER_CONFIG_JSON")
- @Convert(converter = JsonListConverter.class)
- private List<Map<String, Object>> groupSSHAccountProvisionerConfigs;
-
- @OneToMany(
- targetEntity = ComputeResourceReservationEntity.class,
- mappedBy = "groupComputeResourcePref",
- cascade = CascadeType.ALL,
- fetch = FetchType.EAGER,
- orphanRemoval = true)
- @OrderBy("startTime ASC")
- private List<ComputeResourceReservationEntity> reservations;
-
- public SlurmGroupComputeResourcePrefEntity() {}
-
- public String getAllocationProjectNumber() {
- return allocationProjectNumber;
- }
-
- public void setAllocationProjectNumber(String allocationProjectNumber) {
- this.allocationProjectNumber = allocationProjectNumber;
- }
-
- public String getPreferredBatchQueue() {
- return preferredBatchQueue;
- }
-
- public void setPreferredBatchQueue(String preferredBatchQueue) {
- this.preferredBatchQueue = preferredBatchQueue;
- }
-
- public String getQualityOfService() {
- return qualityOfService;
- }
-
- public void setQualityOfService(String qualityOfService) {
- this.qualityOfService = qualityOfService;
- }
-
- public String getUsageReportingGatewayId() {
- return usageReportingGatewayId;
- }
-
- public void setUsageReportingGatewayId(String usageReportingGatewayId) {
- this.usageReportingGatewayId = usageReportingGatewayId;
- }
-
- public String getSshAccountProvisioner() {
- return sshAccountProvisioner;
- }
-
- public void setSshAccountProvisioner(String sshAccountProvisioner) {
- this.sshAccountProvisioner = sshAccountProvisioner;
- }
-
- public String getSshAccountProvisionerAdditionalInfo() {
- return sshAccountProvisionerAdditionalInfo;
- }
-
- public void setSshAccountProvisionerAdditionalInfo(String sshAccountProvisionerAdditionalInfo) {
- this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
- }
-
- public List<Map<String, Object>> getGroupSSHAccountProvisionerConfigs() {
- return groupSSHAccountProvisionerConfigs;
- }
-
- public void setGroupSSHAccountProvisionerConfigs(List<Map<String, Object>> groupSSHAccountProvisionerConfigs) {
- this.groupSSHAccountProvisionerConfigs = groupSSHAccountProvisionerConfigs;
- }
-
- public List<ComputeResourceReservationEntity> getReservations() {
- return reservations;
- }
-
- public void setReservations(List<ComputeResourceReservationEntity> reservations) {
- this.reservations = reservations;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserComputeResourcePreferenceEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserComputeResourcePreferenceEntity.java
deleted file mode 100644
index 9197edea81..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserComputeResourcePreferenceEntity.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.sql.Timestamp;
-
-/**
- * The persistent class for the user_compute_resource_preference database table.
- */
-@Entity
-@Table(name = "USER_COMPUTE_RESOURCE_PREFERENCE")
-@IdClass(UserComputeResourcePreferencePK.class)
-public class UserComputeResourcePreferenceEntity {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "RESOURCE_ID")
- private String computeResourceId;
-
- @Id
- @Column(name = "USER_ID")
- private String userId;
-
- @Id
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- @Column(name = "PREFERED_BATCH_QUEUE")
- private String preferredBatchQueue;
-
- @Column(name = "RESOURCE_CS_TOKEN")
- private String resourceSpecificCredentialStoreToken;
-
- @Column(name = "LOGIN_USERNAME")
- private String loginUserName;
-
- @Column(name = "ALLOCATION_PROJECT_NUMBER")
- private String allocationProjectNumber;
-
- @Column(name = "QUALITY_OF_SERVICE")
- private String qualityOfService;
-
- @Column(name = "RESERVATION")
- private String reservation;
-
- @Column(name = "RESERVATION_START_TIME")
- private Timestamp reservationStartTime;
-
- @Column(name = "RESERVATION_END_TIME")
- private Timestamp reservationEndTime;
-
- @Column(name = "SCRATCH_LOCATION")
- private String scratchLocation;
-
- @Column(name = "VALIDATED")
- private boolean validated;
-
- @ManyToOne(targetEntity = UserResourceProfileEntity.class, cascade = CascadeType.MERGE)
- @JoinColumns({
- @JoinColumn(name = "USER_ID", insertable = false, updatable = false),
- @JoinColumn(name = "GATEWAY_ID", insertable = false, updatable = false)
- })
- private UserResourceProfileEntity userResourceProfile;
-
- public UserComputeResourcePreferenceEntity() {}
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getPreferredBatchQueue() {
- return preferredBatchQueue;
- }
-
- public void setPreferredBatchQueue(String preferredBatchQueue) {
- this.preferredBatchQueue = preferredBatchQueue;
- }
-
- public String getResourceSpecificCredentialStoreToken() {
- return resourceSpecificCredentialStoreToken;
- }
-
- public void setResourceSpecificCredentialStoreToken(String resourceSpecificCredentialStoreToken) {
- this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
- }
-
- public String getLoginUserName() {
- return loginUserName;
- }
-
- public void setLoginUserName(String loginUserName) {
- this.loginUserName = loginUserName;
- }
-
- public String getAllocationProjectNumber() {
- return allocationProjectNumber;
- }
-
- public void setAllocationProjectNumber(String allocationProjectNumber) {
- this.allocationProjectNumber = allocationProjectNumber;
- }
-
- public String getQualityOfService() {
- return qualityOfService;
- }
-
- public void setQualityOfService(String qualityOfService) {
- this.qualityOfService = qualityOfService;
- }
-
- public String getReservation() {
- return reservation;
- }
-
- public void setReservation(String reservation) {
- this.reservation = reservation;
- }
-
- public Timestamp getReservationStartTime() {
- return reservationStartTime;
- }
-
- public void setReservationStartTime(Timestamp reservationStartTime) {
- this.reservationStartTime = reservationStartTime;
- }
-
- public Timestamp getReservationEndTime() {
- return reservationEndTime;
- }
-
- public void setReservationEndTime(Timestamp reservationEndTime) {
- this.reservationEndTime = reservationEndTime;
- }
-
- public String getScratchLocation() {
- return scratchLocation;
- }
-
- public void setScratchLocation(String scratchLocation) {
- this.scratchLocation = scratchLocation;
- }
-
- public boolean isValidated() {
- return validated;
- }
-
- public void setValidated(boolean validated) {
- this.validated = validated;
- }
-
- public UserResourceProfileEntity getUserResourceProfile() {
- return userResourceProfile;
- }
-
- public void setUserResourceProfile(UserResourceProfileEntity userResourceProfile) {
- this.userResourceProfile = userResourceProfile;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserComputeResourcePreferencePK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserComputeResourcePreferencePK.java
deleted file mode 100644
index e983daa3d7..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserComputeResourcePreferencePK.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the user_compute_resource_preference database table.
- *
- */
-public class UserComputeResourcePreferencePK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String computeResourceId;
- private String userId;
- private String gatewayId;
-
- public UserComputeResourcePreferencePK() {}
-
- public String getComputeResourceId() {
- return computeResourceId;
- }
-
- public void setComputeResourceId(String computeResourceId) {
- this.computeResourceId = computeResourceId;
- }
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof UserComputeResourcePreferencePK)) {
- return false;
- }
- UserComputeResourcePreferencePK castOther = (UserComputeResourcePreferencePK) other;
- return this.computeResourceId.equals(castOther.computeResourceId)
- && this.userId.equals(castOther.userId)
- && this.gatewayId.equals(castOther.gatewayId);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.computeResourceId.hashCode();
- hash = hash * prime + this.userId.hashCode();
- hash = hash * prime + this.gatewayId.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserResourceProfileEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserResourceProfileEntity.java
deleted file mode 100644
index b9efa72acf..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserResourceProfileEntity.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-import java.sql.Timestamp;
-import java.util.*;
-
-/**
- * The persistent class for the user_resource_profile database table.
- */
-@Entity
-@Table(name = "USER_RESOURCE_PROFILE")
-@IdClass(UserResourceProfilePK.class)
-public class UserResourceProfileEntity {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "USER_ID")
- private String userId;
-
- @Id
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- @Column(name = "CS_TOKEN")
- private String credentialStoreToken;
-
- @Column(name = "IDENTITY_SERVER_PWD_CRED_TOKEN")
- private String identityServerPwdCredToken;
-
- @Column(name = "IDENTITY_SERVER_TENANT")
- private String identityServerTenant;
-
- @Column(name = "CREATION_TIME")
- private Timestamp creationTime;
-
- @Column(name = "UPDATE_TIME")
- private Timestamp updateTime;
-
- @OneToMany(
- targetEntity = UserComputeResourcePreferenceEntity.class,
- cascade = CascadeType.ALL,
- mappedBy = "userResourceProfile",
- fetch = FetchType.EAGER)
- private List<UserComputeResourcePreferenceEntity> userComputeResourcePreferences;
-
- public UserResourceProfileEntity() {}
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getCredentialStoreToken() {
- return credentialStoreToken;
- }
-
- public void setCredentialStoreToken(String credentialStoreToken) {
- this.credentialStoreToken = credentialStoreToken;
- }
-
- public String getIdentityServerPwdCredToken() {
- return identityServerPwdCredToken;
- }
-
- public void setIdentityServerPwdCredToken(String identityServerPwdCredToken) {
- this.identityServerPwdCredToken = identityServerPwdCredToken;
- }
-
- public String getIdentityServerTenant() {
- return identityServerTenant;
- }
-
- public void setIdentityServerTenant(String identityServerTenant) {
- this.identityServerTenant = identityServerTenant;
- }
-
- public Timestamp getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Timestamp creationTime) {
- this.creationTime = creationTime;
- }
-
- public Timestamp getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(Timestamp updateTime) {
- this.updateTime = updateTime;
- }
-
- public List<UserComputeResourcePreferenceEntity> getUserComputeResourcePreferences() {
- return userComputeResourcePreferences;
- }
-
- public void setUserComputeResourcePreferences(
- List<UserComputeResourcePreferenceEntity> userComputeResourcePreferences) {
- this.userComputeResourcePreferences = userComputeResourcePreferences;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserResourceProfilePK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserResourceProfilePK.java
deleted file mode 100644
index 90a522cb8c..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserResourceProfilePK.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the user_resource_profile database table.
- *
- */
-public class UserResourceProfilePK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String userId;
- private String gatewayId;
-
- public UserResourceProfilePK() {}
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof UserResourceProfilePK)) {
- return false;
- }
- UserResourceProfilePK castOther = (UserResourceProfilePK) other;
- return this.userId.equals(castOther.userId) && this.gatewayId.equals(castOther.gatewayId);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.userId.hashCode();
- hash = hash * prime + this.gatewayId.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserStoragePreferenceEntity.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserStoragePreferenceEntity.java
deleted file mode 100644
index ee44e30a2f..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserStoragePreferenceEntity.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import jakarta.persistence.*;
-
-/**
- * The persistent class for the user_storage_preference database table.
- */
-@Entity
-@Table(name = "USER_STORAGE_PREFERENCE")
-@IdClass(UserStoragePreferencePK.class)
-public class UserStoragePreferenceEntity {
- private static final long serialVersionUID = 1L;
-
- @Id
- @Column(name = "STORAGE_RESOURCE_ID")
- private String storageResourceId;
-
- @Id
- @Column(name = "USER_ID")
- private String userId;
-
- @Id
- @Column(name = "GATEWAY_ID")
- private String gatewayId;
-
- @Column(name = "RESOURCE_CS_TOKEN")
- private String resourceSpecificCredentialStoreToken;
-
- @Column(name = "FS_ROOT_LOCATION")
- private String fileSystemRootLocation;
-
- @Column(name = "LOGIN_USERNAME")
- private String loginUserName;
-
- public UserStoragePreferenceEntity() {}
-
- public String getStorageResourceId() {
- return storageResourceId;
- }
-
- public void setStorageResourceId(String storageResourceId) {
- this.storageResourceId = storageResourceId;
- }
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public String getResourceSpecificCredentialStoreToken() {
- return resourceSpecificCredentialStoreToken;
- }
-
- public void setResourceSpecificCredentialStoreToken(String resourceSpecificCredentialStoreToken) {
- this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
- }
-
- public String getFileSystemRootLocation() {
- return fileSystemRootLocation;
- }
-
- public void setFileSystemRootLocation(String fileSystemRootLocation) {
- this.fileSystemRootLocation = fileSystemRootLocation;
- }
-
- public String getLoginUserName() {
- return loginUserName;
- }
-
- public void setLoginUserName(String loginUserName) {
- this.loginUserName = loginUserName;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserStoragePreferencePK.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserStoragePreferencePK.java
deleted file mode 100644
index e1b590b64d..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/model/UserStoragePreferencePK.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.model;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the user_storage_preference database table.
- *
- */
-public class UserStoragePreferencePK implements Serializable {
- // default serial version id, required for serializable classes.
- private static final long serialVersionUID = 1L;
-
- private String storageResourceId;
- private String userId;
- private String gatewayId;
-
- public UserStoragePreferencePK() {}
-
- public String getStorageResourceId() {
- return storageResourceId;
- }
-
- public void setStorageResourceId(String storageResourceId) {
- this.storageResourceId = storageResourceId;
- }
-
- public String getUserId() {
- return userId;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getGatewayId() {
- return gatewayId;
- }
-
- public void setGatewayId(String gatewayId) {
- this.gatewayId = gatewayId;
- }
-
- public boolean equals(Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof UserStoragePreferencePK)) {
- return false;
- }
- UserStoragePreferencePK castOther = (UserStoragePreferencePK) other;
- return this.storageResourceId.equals(castOther.storageResourceId)
- && this.userId.equals(castOther.userId)
- && this.gatewayId.equals(castOther.gatewayId);
- }
-
- public int hashCode() {
- final int prime = 31;
- int hash = 17;
- hash = hash * prime + this.storageResourceId.hashCode();
- hash = hash * prime + this.userId.hashCode();
- hash = hash * prime + this.gatewayId.hashCode();
-
- return hash;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/BatchQueuePolicyRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/BatchQueuePolicyRepository.java
deleted file mode 100644
index c369b443c3..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/BatchQueuePolicyRepository.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.BatchQueueResourcePolicyEntity;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.BatchQueueResourcePolicy;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by skariyat on 2/10/18.
- */
-@Component
-public class BatchQueuePolicyRepository
- extends AbstractRepository<BatchQueueResourcePolicy, BatchQueueResourcePolicyEntity, String> {
-
- public BatchQueuePolicyRepository() {
- super(BatchQueueResourcePolicy.class, BatchQueueResourcePolicyEntity.class);
- }
-
- @Override
- protected BatchQueueResourcePolicy toModel(BatchQueueResourcePolicyEntity entity) {
- return ComputeMapper.INSTANCE.batchQueuePolicyToModel(entity);
- }
-
- @Override
- protected BatchQueueResourcePolicyEntity toEntity(BatchQueueResourcePolicy model) {
- return ComputeMapper.INSTANCE.batchQueuePolicyToEntity(model);
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourcePolicyRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourcePolicyRepository.java
deleted file mode 100644
index 083d76833b..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourcePolicyRepository.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.ComputeResourcePolicyEntity;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourcePolicy;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by skariyat on 2/10/18.
- */
-@Component
-public class ComputeResourcePolicyRepository
- extends AbstractRepository<ComputeResourcePolicy, ComputeResourcePolicyEntity, String> {
-
- public ComputeResourcePolicyRepository() {
- super(ComputeResourcePolicy.class, ComputeResourcePolicyEntity.class);
- }
-
- @Override
- protected ComputeResourcePolicy toModel(ComputeResourcePolicyEntity entity) {
- return ComputeMapper.INSTANCE.computeResourcePolicyToModel(entity);
- }
-
- @Override
- protected ComputeResourcePolicyEntity toEntity(ComputeResourcePolicy model) {
- return ComputeMapper.INSTANCE.computeResourcePolicyToEntity(model);
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourcePrefRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourcePrefRepository.java
deleted file mode 100644
index 289ad3fba5..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourcePrefRepository.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.ComputeResourcePreferenceEntity;
-import org.apache.airavata.compute.model.ComputeResourcePreferencePK;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.ComputeResourcePreference;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ComputeResourcePrefRepository
- extends AbstractRepository<
- ComputeResourcePreference, ComputeResourcePreferenceEntity, ComputeResourcePreferencePK> {
-
- public ComputeResourcePrefRepository() {
- super(ComputeResourcePreference.class, ComputeResourcePreferenceEntity.class);
- }
-
- @Override
- protected ComputeResourcePreference toModel(ComputeResourcePreferenceEntity entity) {
- return ComputeMapper.INSTANCE.computeResourcePrefToModel(entity);
- }
-
- @Override
- protected ComputeResourcePreferenceEntity toEntity(ComputeResourcePreference model) {
- return ComputeMapper.INSTANCE.computeResourcePrefToEntity(model);
- }
-
- public Map<String, String> getsshAccountProvisionerConfig(String gatewayId, String hostId) {
- ComputeResourcePreferencePK computeResourcePreferencePK = new ComputeResourcePreferencePK();
- computeResourcePreferencePK.setGatewayId(gatewayId);
- computeResourcePreferencePK.setComputeResourceId(hostId);
- ComputeResourcePreferenceEntity computeResourcePreferenceEntity = execute(entityManager ->
- entityManager.find(ComputeResourcePreferenceEntity.class, computeResourcePreferencePK));
- List<Map<String, Object>> configs = computeResourcePreferenceEntity.getSshAccountProvisionerConfigurations();
- if (configs != null && !configs.isEmpty()) {
- Map<String, String> result = new HashMap<>();
- for (Map<String, Object> config : configs) {
- String name = (String) config.get("configName");
- String value = (String) config.getOrDefault("configValue", "");
- if (name != null) result.put(name, value);
- }
- return result;
- }
- return null;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourceRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourceRepository.java
deleted file mode 100644
index ed0c4c8ace..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ComputeResourceRepository.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.ComputeResourceEntity;
-import org.apache.airavata.compute.model.ResourceJobManagerEntity;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.db.AppCatalogUtils;
-import org.apache.airavata.db.DBConstants;
-import org.apache.airavata.db.QueryConstants;
-import org.apache.airavata.interfaces.AppCatalogException;
-import org.apache.airavata.interfaces.ComputeResource;
-import org.apache.airavata.model.appcatalog.computeresource.proto.ComputeResourceDescription;
-import org.apache.airavata.model.appcatalog.computeresource.proto.JobManagerCommand;
-import org.apache.airavata.model.appcatalog.computeresource.proto.ResourceJobManager;
-import org.apache.airavata.model.parallelism.proto.ApplicationParallelismType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ComputeResourceRepository
- extends AbstractRepository<ComputeResourceDescription, ComputeResourceEntity, String>
- implements ComputeResource {
-
- private static final Logger logger = LoggerFactory.getLogger(ComputeResourceRepository.class);
-
- public ComputeResourceRepository() {
- super(ComputeResourceDescription.class, ComputeResourceEntity.class);
- }
-
- @Override
- protected ComputeResourceDescription toModel(ComputeResourceEntity entity) {
- return ComputeMapper.INSTANCE.computeResourceToModel(entity);
- }
-
- @Override
- protected ComputeResourceEntity toEntity(ComputeResourceDescription model) {
- return ComputeMapper.INSTANCE.computeResourceToEntity(model);
- }
-
- @Override
- public String addComputeResource(ComputeResourceDescription description) throws AppCatalogException {
- if (description.getComputeResourceId().equals("")
- || description.getComputeResourceId().equals("DO_NOT_SET_AT_CLIENTS")) {
- description = description.toBuilder()
- .setComputeResourceId(AppCatalogUtils.getID(description.getHostName()))
- .build();
- }
- return saveComputeResourceDescriptorData(description);
- }
-
- protected String saveComputeResourceDescriptorData(ComputeResourceDescription description)
- throws AppCatalogException {
- ComputeResourceEntity computeResourceEntity = saveComputeResource(description);
- return computeResourceEntity.getComputeResourceId();
- }
-
- protected ComputeResourceEntity saveComputeResource(ComputeResourceDescription description)
- throws AppCatalogException {
- String computeResourceId = description.getComputeResourceId();
- ComputeResourceEntity computeResourceEntity = ComputeMapper.INSTANCE.computeResourceToEntity(description);
- if (computeResourceEntity.getBatchQueues() != null) {
- computeResourceEntity
- .getBatchQueues()
- .forEach(batchQueueEntity -> batchQueueEntity.setComputeResourceId(computeResourceId));
- }
- return execute(entityManager -> entityManager.merge(computeResourceEntity));
- }
-
- @Override
- public void updateComputeResource(String computeResourceId, ComputeResourceDescription updatedComputeResource)
- throws AppCatalogException {
- saveComputeResourceDescriptorData(updatedComputeResource);
- }
-
- @Override
- public ComputeResourceDescription getComputeResource(String resourceId) throws AppCatalogException {
- return get(resourceId);
- }
-
- @Override
- public List<ComputeResourceDescription> getComputeResourceList(Map<String, String> filters)
- throws AppCatalogException {
- if (filters.containsKey(DBConstants.ComputeResource.HOST_NAME)) {
- Map<String, Object> queryParameters = new HashMap<>();
- queryParameters.put(
- DBConstants.ComputeResource.HOST_NAME, filters.get(DBConstants.ComputeResource.HOST_NAME));
- return select(QueryConstants.FIND_COMPUTE_RESOURCE, -1, 0, queryParameters);
- } else {
- logger.error("Unsupported field name for compute resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for compute resource.");
- }
- }
-
- @Override
- public List<ComputeResourceDescription> getAllComputeResourceList() throws AppCatalogException {
- return select(QueryConstants.FIND_ALL_COMPUTE_RESOURCES, 0);
- }
-
- @Override
- public Map<String, String> getAllComputeResourceIdList() throws AppCatalogException {
- Map<String, String> computeResourceMap = new HashMap<String, String>();
- List<ComputeResourceDescription> computeResourceDescriptionList =
- select(QueryConstants.FIND_ALL_COMPUTE_RESOURCES, 0);
- if (computeResourceDescriptionList != null && !computeResourceDescriptionList.isEmpty()) {
- for (ComputeResourceDescription computeResourceDescription : computeResourceDescriptionList) {
- computeResourceMap.put(
- computeResourceDescription.getComputeResourceId(), computeResourceDescription.getHostName());
- }
- }
- return computeResourceMap;
- }
-
- @Override
- public Map<String, String> getAvailableComputeResourceIdList() throws AppCatalogException {
- Map<String, String> computeResourceMap = new HashMap<String, String>();
- List<ComputeResourceDescription> computeResourceDescriptionList =
- select(QueryConstants.FIND_ALL_COMPUTE_RESOURCES, 0);
- if (computeResourceDescriptionList != null && !computeResourceDescriptionList.isEmpty()) {
- for (ComputeResourceDescription computeResourceDescription : computeResourceDescriptionList) {
- if (computeResourceDescription.getEnabled()) {
- computeResourceMap.put(
- computeResourceDescription.getComputeResourceId(),
- computeResourceDescription.getHostName());
- }
- }
- }
- return computeResourceMap;
- }
-
- @Override
- public boolean isComputeResourceExists(String resourceId) throws AppCatalogException {
- return isExists(resourceId);
- }
-
- @Override
- public void removeComputeResource(String resourceId) throws AppCatalogException {
- delete(resourceId);
- }
-
- @Override
- public String addResourceJobManager(ResourceJobManager resourceJobManager) throws AppCatalogException {
- ResourceJobManagerRepository resourceJobManagerRepository = new ResourceJobManagerRepository();
- resourceJobManager = resourceJobManager.toBuilder()
- .setResourceJobManagerId(AppCatalogUtils.getID("RJM"))
- .build();
- resourceJobManagerRepository.create(resourceJobManager);
- ResourceJobManagerEntity resourceJobManagerEntity =
- ComputeMapper.INSTANCE.resourceJobManagerToEntity(resourceJobManager);
- Map<Integer, String> jobManagerCommands = resourceJobManager.getJobManagerCommandsMap();
- if (jobManagerCommands != null && jobManagerCommands.size() != 0) {
- resourceJobManagerRepository.createJobManagerCommand(jobManagerCommands, resourceJobManagerEntity);
- }
-
- Map<Integer, String> parallelismPrefix = resourceJobManager.getParallelismPrefixMap();
- if (parallelismPrefix != null && parallelismPrefix.size() != 0) {
- resourceJobManagerRepository.createParallesimPrefix(parallelismPrefix, resourceJobManagerEntity);
- }
- return resourceJobManager.getResourceJobManagerId();
- }
-
- @Override
- public void updateResourceJobManager(String resourceJobManagerId, ResourceJobManager updatedResourceJobManager)
- throws AppCatalogException {
- ResourceJobManagerRepository resourceJobManagerRepository = new ResourceJobManagerRepository();
- updatedResourceJobManager = updatedResourceJobManager.toBuilder()
- .setResourceJobManagerId(resourceJobManagerId)
- .build();
- ResourceJobManager resourceJobManager = resourceJobManagerRepository.create(updatedResourceJobManager);
- ResourceJobManagerEntity resourceJobManagerEntity =
- ComputeMapper.INSTANCE.resourceJobManagerToEntity(resourceJobManager);
- Map<Integer, String> jobManagerCommands = updatedResourceJobManager.getJobManagerCommandsMap();
- if (jobManagerCommands != null && jobManagerCommands.size() != 0) {
- resourceJobManagerRepository.createJobManagerCommand(jobManagerCommands, resourceJobManagerEntity);
- }
-
- Map<Integer, String> parallelismPrefix = updatedResourceJobManager.getParallelismPrefixMap();
- if (parallelismPrefix != null && parallelismPrefix.size() != 0) {
- resourceJobManagerRepository.createParallesimPrefix(parallelismPrefix, resourceJobManagerEntity);
- }
- }
-
- @Override
- public ResourceJobManager getResourceJobManager(String resourceJobManagerId) throws AppCatalogException {
- ResourceJobManagerRepository resourceJobManagerRepository = new ResourceJobManagerRepository();
- ResourceJobManager resourceJobManager = resourceJobManagerRepository.get(resourceJobManagerId);
- if (resourceJobManager != null) {
- // Convert enum-keyed maps to integer-keyed maps for proto
- Map<JobManagerCommand, String> jmCommands =
- resourceJobManagerRepository.getJobManagerCommand(resourceJobManagerId);
- Map<Integer, String> jmCommandsInt = new HashMap<>();
- for (Map.Entry<JobManagerCommand, String> entry : jmCommands.entrySet()) {
- jmCommandsInt.put(entry.getKey().getNumber(), entry.getValue());
- }
-
- Map<ApplicationParallelismType, String> parPrefix =
- resourceJobManagerRepository.getParallelismPrefix(resourceJobManagerId);
- Map<Integer, String> parPrefixInt = new HashMap<>();
- for (Map.Entry<ApplicationParallelismType, String> entry : parPrefix.entrySet()) {
- parPrefixInt.put(entry.getKey().getNumber(), entry.getValue());
- }
-
- resourceJobManager = resourceJobManager.toBuilder()
- .putAllJobManagerCommands(jmCommandsInt)
- .putAllParallelismPrefix(parPrefixInt)
- .build();
- }
- return resourceJobManager;
- }
-
- @Override
- public void deleteResourceJobManager(String resourceJobManagerId) throws AppCatalogException {
- (new ResourceJobManagerRepository()).delete(resourceJobManagerId);
- }
-
- @Override
- public void removeBatchQueue(String computeResourceId, String queueName) throws AppCatalogException {
- execute(entityManager -> {
- ComputeResourceEntity parent = entityManager.find(ComputeResourceEntity.class, computeResourceId);
- if (parent != null && parent.getBatchQueues() != null) {
- parent.getBatchQueues().removeIf(e -> queueName.equals(e.getQueueName()));
- entityManager.merge(parent);
- }
- return null;
- });
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GatewayUsageReportingCommandRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GatewayUsageReportingCommandRepository.java
deleted file mode 100644
index e6970ca406..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GatewayUsageReportingCommandRepository.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.GatewayUsageReportingCommandEntity;
-import org.apache.airavata.compute.model.GatewayUsageReportingPK;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.interfaces.RegistryException;
-import org.apache.airavata.interfaces.UsageReportingProvider;
-import org.apache.airavata.model.workspace.proto.GatewayUsageReportingCommand;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class GatewayUsageReportingCommandRepository
- extends AbstractRepository<
- GatewayUsageReportingCommand, GatewayUsageReportingCommandEntity, GatewayUsageReportingPK>
- implements UsageReportingProvider {
-
- private static final Logger logger = LoggerFactory.getLogger(GatewayUsageReportingCommandRepository.class);
-
- public GatewayUsageReportingCommandRepository() {
- super(GatewayUsageReportingCommand.class, GatewayUsageReportingCommandEntity.class);
- }
-
- @Override
- protected GatewayUsageReportingCommand toModel(GatewayUsageReportingCommandEntity entity) {
- return ComputeMapper.INSTANCE.gatewayUsageReportingCommandToModel(entity);
- }
-
- @Override
- protected GatewayUsageReportingCommandEntity toEntity(GatewayUsageReportingCommand model) {
- return ComputeMapper.INSTANCE.gatewayUsageReportingCommandToEntity(model);
- }
-
- public void addGatewayUsageReportingCommand(GatewayUsageReportingCommand command) throws RegistryException {
- String gatewayId = command.getGatewayId();
- GatewayUsageReportingCommandEntity reportingEntity =
- ComputeMapper.INSTANCE.gatewayUsageReportingCommandToEntity(command);
- execute(entityManager -> entityManager.merge(reportingEntity));
- logger.info("Added gateway usage reporting command for gateway {} to the database", command.getGatewayId());
- }
-
- public GatewayUsageReportingCommand getGatewayUsageReportingCommand(String gatewayId, String computeResourceId) {
- GatewayUsageReportingPK pk = new GatewayUsageReportingPK();
- pk.setGatewayId(gatewayId);
- pk.setComputeResourceId(computeResourceId);
- return get(pk);
- }
-
- public boolean isGatewayUsageReportingCommandExists(String gatewayId, String computeResourceId)
- throws RegistryException {
- GatewayUsageReportingPK pk = new GatewayUsageReportingPK();
- pk.setGatewayId(gatewayId);
- pk.setComputeResourceId(computeResourceId);
- return isExists(pk);
- }
-
- public void removeGatewayUsageReportingCommand(String gatewayId, String computeResourceId)
- throws RegistryException {
- if (isGatewayUsageReportingCommandExists(gatewayId, computeResourceId)) {
- GatewayUsageReportingPK pk = new GatewayUsageReportingPK();
- pk.setGatewayId(gatewayId);
- pk.setComputeResourceId(computeResourceId);
- delete(pk);
- logger.info("Deleted gateway usage reporting command for gateway {}", gatewayId);
- }
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GroupResourceProfileRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GroupResourceProfileRepository.java
deleted file mode 100644
index 8d93d79ef6..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GroupResourceProfileRepository.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.AWSGroupComputeResourcePrefEntity;
-import org.apache.airavata.compute.model.ComputeResourceReservationEntity;
-import org.apache.airavata.compute.model.GroupComputeResourcePrefEntity;
-import org.apache.airavata.compute.model.GroupComputeResourcePrefPK;
-import org.apache.airavata.compute.model.GroupResourceProfileEntity;
-import org.apache.airavata.compute.model.SlurmGroupComputeResourcePrefEntity;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.db.DBConstants;
-import org.apache.airavata.db.QueryConstants;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.AwsComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.BatchQueueResourcePolicy;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourcePolicy;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourceReservation;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupAccountSSHProvisionerConfig;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupResourceProfile;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ResourceType;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.SlurmComputeResourcePreference;
-import org.apache.airavata.util.AiravataUtils;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by skariyat on 2/8/18.
- */
-@Component
-public class GroupResourceProfileRepository
- extends AbstractRepository<GroupResourceProfile, GroupResourceProfileEntity, String> {
-
- public GroupResourceProfileRepository() {
- super(GroupResourceProfile.class, GroupResourceProfileEntity.class);
- }
-
- @Override
- protected GroupResourceProfile toModel(GroupResourceProfileEntity entity) {
- return ComputeMapper.INSTANCE.groupResourceProfileToModel(entity);
- }
-
- @Override
- protected GroupResourceProfileEntity toEntity(GroupResourceProfile model) {
- return ComputeMapper.INSTANCE.groupResourceProfileToEntity(model);
- }
-
- public String addGroupResourceProfile(GroupResourceProfile groupResourceProfile) {
-
- final String groupResourceProfileId = UUID.randomUUID().toString();
- groupResourceProfile = groupResourceProfile.toBuilder()
- .setGroupResourceProfileId(groupResourceProfileId)
- .setCreationTime(System.currentTimeMillis())
- .build();
- groupResourceProfile = updateChildren(groupResourceProfile, groupResourceProfileId);
- return updateGroupResourceProfile(groupResourceProfile);
- }
-
- private GroupResourceProfile updateChildren(
- GroupResourceProfile groupResourceProfile, String groupResourceProfileId) {
- GroupResourceProfile.Builder profileBuilder = groupResourceProfile.toBuilder();
-
- if (groupResourceProfile.getComputePreferencesList() != null) {
- List<GroupComputeResourcePreference> updatedPrefs = new ArrayList<>();
- for (GroupComputeResourcePreference gcrPref : groupResourceProfile.getComputePreferencesList()) {
- GroupComputeResourcePreference.Builder prefBuilder =
- gcrPref.toBuilder().setGroupResourceProfileId(groupResourceProfileId);
-
- if (gcrPref.getResourceType() == ResourceType.SLURM
- && gcrPref.hasSpecificPreferences()
- && gcrPref.getSpecificPreferences().hasSlurm()) {
-
- SlurmComputeResourcePreference slurm =
- gcrPref.getSpecificPreferences().getSlurm();
- SlurmComputeResourcePreference.Builder slurmBuilder = slurm.toBuilder();
-
- // update SSH provisioner configs
- if (slurm.getGroupSshAccountProvisionerConfigsList() != null) {
- List<GroupAccountSSHProvisionerConfig> updatedConfigs = new ArrayList<>();
- for (GroupAccountSSHProvisionerConfig gssh : slurm.getGroupSshAccountProvisionerConfigsList()) {
- updatedConfigs.add(gssh.toBuilder()
- .setGroupResourceProfileId(groupResourceProfileId)
- .build());
- }
- slurmBuilder
- .clearGroupSshAccountProvisionerConfigs()
- .addAllGroupSshAccountProvisionerConfigs(updatedConfigs);
- }
-
- // update reservations
- if (slurm.getReservationsList() != null) {
- List<ComputeResourceReservation> updatedRes = new ArrayList<>();
- for (ComputeResourceReservation res : slurm.getReservationsList()) {
- if (res.getReservationId().trim().isEmpty()
- || res.getReservationId().equals("DO_NOT_SET_AT_CLIENTS")) {
- updatedRes.add(res.toBuilder()
- .setReservationId(AiravataUtils.getId(res.getReservationName()))
- .build());
- } else {
- updatedRes.add(res);
- }
- }
- slurmBuilder.clearReservations().addAllReservations(updatedRes);
- }
-
- prefBuilder.setSpecificPreferences(gcrPref.getSpecificPreferences().toBuilder()
- .setSlurm(slurmBuilder.build())
- .build());
- }
- updatedPrefs.add(prefBuilder.build());
- }
- profileBuilder.clearComputePreferences().addAllComputePreferences(updatedPrefs);
- }
-
- if (groupResourceProfile.getBatchQueueResourcePoliciesList() != null) {
- List<BatchQueueResourcePolicy> updatedBqs = new ArrayList<>();
- for (BatchQueueResourcePolicy bq : groupResourceProfile.getBatchQueueResourcePoliciesList()) {
- BatchQueueResourcePolicy.Builder bqBuilder = bq.toBuilder();
- if (bq.getResourcePolicyId().trim().isEmpty()
- || bq.getResourcePolicyId().equals("DO_NOT_SET_AT_CLIENTS")) {
- bqBuilder.setResourcePolicyId(UUID.randomUUID().toString());
- }
- bqBuilder.setGroupResourceProfileId(groupResourceProfileId);
- updatedBqs.add(bqBuilder.build());
- }
- profileBuilder.clearBatchQueueResourcePolicies().addAllBatchQueueResourcePolicies(updatedBqs);
- }
-
- if (groupResourceProfile.getComputeResourcePoliciesList() != null) {
- List<ComputeResourcePolicy> updatedCrs = new ArrayList<>();
- for (ComputeResourcePolicy cr : groupResourceProfile.getComputeResourcePoliciesList()) {
- ComputeResourcePolicy.Builder crBuilder = cr.toBuilder();
- if (cr.getResourcePolicyId().trim().isEmpty()
- || cr.getResourcePolicyId().equals("DO_NOT_SET_AT_CLIENTS")) {
- crBuilder.setResourcePolicyId(UUID.randomUUID().toString());
- }
- crBuilder.setGroupResourceProfileId(groupResourceProfileId);
- updatedCrs.add(crBuilder.build());
- }
- profileBuilder.clearComputeResourcePolicies().addAllComputeResourcePolicies(updatedCrs);
- }
-
- return profileBuilder.build();
- }
-
- public String updateGroupResourceProfile(GroupResourceProfile updatedGroupResourceProfile) {
-
- updatedGroupResourceProfile = updatedGroupResourceProfile.toBuilder()
- .setUpdatedTime(System.currentTimeMillis())
- .build();
- updatedGroupResourceProfile =
- updateChildren(updatedGroupResourceProfile, updatedGroupResourceProfile.getGroupResourceProfileId());
- GroupResourceProfileEntity groupResourceProfileEntity = mapToEntity(updatedGroupResourceProfile);
- patchComputePrefEntities(groupResourceProfileEntity, updatedGroupResourceProfile);
- updateChildrenEntities(groupResourceProfileEntity);
- GroupResourceProfile groupResourceProfile = mergeEntity(groupResourceProfileEntity);
- return groupResourceProfile.getGroupResourceProfileId();
- }
-
- private void updateChildrenEntities(GroupResourceProfileEntity groupResourceProfileEntity) {
- if (groupResourceProfileEntity.getComputePreferences() != null) {
- for (GroupComputeResourcePrefEntity gcrPref : groupResourceProfileEntity.getComputePreferences()) {
- // For some reason next line is needed to get OpenJPA to persist
- // GroupResourceProfileEntity before GroupComputeResourcePrefEntity
- gcrPref.setGroupResourceProfile(groupResourceProfileEntity);
- if (gcrPref instanceof SlurmGroupComputeResourcePrefEntity) {
- SlurmGroupComputeResourcePrefEntity slurm = (SlurmGroupComputeResourcePrefEntity) gcrPref;
- if (slurm.getReservations() != null) {
- for (ComputeResourceReservationEntity r : slurm.getReservations()) {
- r.setGroupComputeResourcePref(slurm);
- }
- }
- }
- }
- }
- }
-
- private void patchComputePrefEntities(GroupResourceProfileEntity destEntity, GroupResourceProfile sourceModel) {
- if (destEntity.getComputePreferences() == null || sourceModel.getComputePreferencesList() == null) {
- return;
- }
- Map<String, GroupComputeResourcePreference> sourcePrefs = new HashMap<>();
- for (GroupComputeResourcePreference pref : sourceModel.getComputePreferencesList()) {
- sourcePrefs.put(pref.getComputeResourceId(), pref);
- }
-
- for (GroupComputeResourcePrefEntity prefEntity : destEntity.getComputePreferences()) {
- GroupComputeResourcePreference sourcePref = sourcePrefs.get(prefEntity.getComputeResourceId());
- if (sourcePref == null || !sourcePref.hasSpecificPreferences()) {
- continue;
- }
- if (prefEntity instanceof SlurmGroupComputeResourcePrefEntity slurmEntity) {
- if (sourcePref.getSpecificPreferences().hasSlurm()) {
- SlurmComputeResourcePreference slurm =
- sourcePref.getSpecificPreferences().getSlurm();
- slurmEntity.setAllocationProjectNumber(slurm.getAllocationProjectNumber());
- slurmEntity.setPreferredBatchQueue(slurm.getPreferredBatchQueue());
- slurmEntity.setQualityOfService(slurm.getQualityOfService());
- slurmEntity.setUsageReportingGatewayId(slurm.getUsageReportingGatewayId());
- slurmEntity.setSshAccountProvisioner(slurm.getSshAccountProvisioner());
- slurmEntity.setSshAccountProvisionerAdditionalInfo(slurm.getSshAccountProvisionerAdditionalInfo());
- if (!slurm.getGroupSshAccountProvisionerConfigsList().isEmpty()) {
- List<Map<String, Object>> cfgList = new ArrayList<>();
- for (GroupAccountSSHProvisionerConfig cfg : slurm.getGroupSshAccountProvisionerConfigsList()) {
- Map<String, Object> m = new LinkedHashMap<>();
- m.put("resourceId", cfg.getResourceId());
- m.put("groupResourceProfileId", cfg.getGroupResourceProfileId());
- m.put("configName", cfg.getConfigName());
- m.put("configValue", cfg.getConfigValue());
- cfgList.add(m);
- }
- slurmEntity.setGroupSSHAccountProvisionerConfigs(cfgList);
- } else {
- slurmEntity.setGroupSSHAccountProvisionerConfigs(null);
- }
- }
- } else if (prefEntity instanceof AWSGroupComputeResourcePrefEntity awsEntity) {
- if (sourcePref.getSpecificPreferences().hasAws()) {
- AwsComputeResourcePreference aws =
- sourcePref.getSpecificPreferences().getAws();
- awsEntity.setRegion(aws.getRegion());
- awsEntity.setPreferredAmiId(aws.getPreferredAmiId());
- awsEntity.setPreferredInstanceType(aws.getPreferredInstanceType());
- }
- }
- }
- }
-
- public GroupResourceProfile getGroupResourceProfile(String groupResourceProfileId) {
- GroupResourceProfile groupResourceProfile = get(groupResourceProfileId);
-
- GrpComputePrefRepository prefRepo = new GrpComputePrefRepository();
- List<GroupComputeResourcePreference> decoratedPrefs = new ArrayList<>();
- for (GroupComputeResourcePreference raw : groupResourceProfile.getComputePreferencesList()) {
- GroupComputeResourcePrefPK pk = new GroupComputeResourcePrefPK();
- pk.setComputeResourceId(raw.getComputeResourceId());
- pk.setGroupResourceProfileId(raw.getGroupResourceProfileId());
- decoratedPrefs.add(prefRepo.get(pk));
- }
- groupResourceProfile = groupResourceProfile.toBuilder()
- .clearComputePreferences()
- .addAllComputePreferences(decoratedPrefs)
- .build();
-
- return groupResourceProfile;
- }
-
- public boolean removeGroupResourceProfile(String groupResourceProfileId) {
- return delete(groupResourceProfileId);
- }
-
- public boolean isGroupResourceProfileExists(String groupResourceProfileId) {
- return isExists(groupResourceProfileId);
- }
-
- public List<GroupResourceProfile> getAllGroupResourceProfiles(
- String gatewayId, List<String> accessibleGroupResProfileIds) {
- if (accessibleGroupResProfileIds != null && !accessibleGroupResProfileIds.isEmpty()) {
- List<GroupResourceProfile> profiles = select(
- QueryConstants.FIND_ACCESSIBLE_GROUP_RESOURCE_PROFILES,
- -1,
- 0,
- Map.of(
- DBConstants.GroupResourceProfile.GATEWAY_ID,
- gatewayId,
- DBConstants.GroupResourceProfile.ACCESSIBLE_GROUP_RESOURCE_IDS,
- accessibleGroupResProfileIds));
-
- GrpComputePrefRepository prefRepo = new GrpComputePrefRepository();
- List<GroupResourceProfile> decoratedProfiles = new ArrayList<>();
- for (GroupResourceProfile profile : profiles) {
- List<GroupComputeResourcePreference> decoratedPrefs = new ArrayList<>();
-
- for (GroupComputeResourcePreference rawPref : profile.getComputePreferencesList()) {
- GroupComputeResourcePrefPK pk = new GroupComputeResourcePrefPK();
- pk.setComputeResourceId(rawPref.getComputeResourceId());
- pk.setGroupResourceProfileId(rawPref.getGroupResourceProfileId());
-
- GroupComputeResourcePreference fullPref = prefRepo.get(pk);
- decoratedPrefs.add(fullPref);
- }
-
- decoratedProfiles.add(profile.toBuilder()
- .clearComputePreferences()
- .addAllComputePreferences(decoratedPrefs)
- .build());
- }
- return decoratedProfiles;
-
- } else {
- return Collections.emptyList();
- }
- }
-
- public boolean removeGroupComputeResourcePreference(String computeResourceId, String groupResourceProfileId) {
- GroupComputeResourcePrefPK groupComputeResourcePrefPK = new GroupComputeResourcePrefPK();
- groupComputeResourcePrefPK.setComputeResourceId(computeResourceId);
- groupComputeResourcePrefPK.setGroupResourceProfileId(groupResourceProfileId);
-
- return (new GrpComputePrefRepository().delete(groupComputeResourcePrefPK));
- }
-
- public boolean removeComputeResourcePolicy(String resourcePolicyId) {
- return (new ComputeResourcePolicyRepository().delete(resourcePolicyId));
- }
-
- public boolean removeBatchQueueResourcePolicy(String resourcePolicyId) {
- return (new BatchQueuePolicyRepository().delete(resourcePolicyId));
- }
-
- public GroupComputeResourcePreference getGroupComputeResourcePreference(
- String computeResourceId, String groupResourceProfileId) {
- GroupComputeResourcePrefPK groupComputeResourcePrefPK = new GroupComputeResourcePrefPK();
- groupComputeResourcePrefPK.setGroupResourceProfileId(groupResourceProfileId);
- groupComputeResourcePrefPK.setComputeResourceId(computeResourceId);
-
- return (new GrpComputePrefRepository().get(groupComputeResourcePrefPK));
- }
-
- public boolean isGroupComputeResourcePreferenceExists(String computeResourceId, String groupResourceProfileId) {
- GroupComputeResourcePrefPK groupComputeResourcePrefPK = new GroupComputeResourcePrefPK();
- groupComputeResourcePrefPK.setGroupResourceProfileId(groupResourceProfileId);
- groupComputeResourcePrefPK.setComputeResourceId(computeResourceId);
-
- return (new GrpComputePrefRepository().isExists(groupComputeResourcePrefPK));
- }
-
- public ComputeResourcePolicy getComputeResourcePolicy(String resourcePolicyId) {
- return (new ComputeResourcePolicyRepository().get(resourcePolicyId));
- }
-
- public BatchQueueResourcePolicy getBatchQueueResourcePolicy(String resourcePolicyId) {
- return (new BatchQueuePolicyRepository().get(resourcePolicyId));
- }
-
- public List<GroupComputeResourcePreference> getAllGroupComputeResourcePreferences(String groupResourceProfileId) {
- List<GroupComputeResourcePreference> rawPrefs = (new GrpComputePrefRepository()
- .select(
- QueryConstants.FIND_ALL_GROUP_COMPUTE_PREFERENCES,
- -1,
- 0,
- Map.of(DBConstants.GroupResourceProfile.GROUP_RESOURCE_PROFILE_ID, groupResourceProfileId)));
-
- GrpComputePrefRepository prefRepo = new GrpComputePrefRepository();
- List<GroupComputeResourcePreference> decorated = new ArrayList<>();
- for (GroupComputeResourcePreference raw : rawPrefs) {
- GroupComputeResourcePrefPK pk = new GroupComputeResourcePrefPK();
- pk.setComputeResourceId(raw.getComputeResourceId());
- pk.setGroupResourceProfileId(raw.getGroupResourceProfileId());
- // this .get(...) will load the entity, detect SLURM, set resourceType, and populate the specificPreferences
- // union
- GroupComputeResourcePreference full = prefRepo.get(pk);
- decorated.add(full);
- }
-
- return decorated;
- }
-
- public List<BatchQueueResourcePolicy> getAllGroupBatchQueueResourcePolicies(String groupResourceProfileId) {
- Map<String, Object> queryParameters = new HashMap<>();
- queryParameters.put(DBConstants.GroupResourceProfile.GROUP_RESOURCE_PROFILE_ID, groupResourceProfileId);
- return (new BatchQueuePolicyRepository()
- .select(QueryConstants.FIND_ALL_GROUP_BATCH_QUEUE_RESOURCE_POLICY, -1, 0, queryParameters));
- }
-
- public List<ComputeResourcePolicy> getAllGroupComputeResourcePolicies(String groupResourceProfileId) {
- Map<String, Object> queryParameters = new HashMap<>();
- queryParameters.put(DBConstants.GroupResourceProfile.GROUP_RESOURCE_PROFILE_ID, groupResourceProfileId);
- return (new ComputeResourcePolicyRepository()
- .select(QueryConstants.FIND_ALL_GROUP_COMPUTE_RESOURCE_POLICY, -1, 0, queryParameters));
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GrpComputePrefRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GrpComputePrefRepository.java
deleted file mode 100644
index 3ec92be151..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GrpComputePrefRepository.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import java.util.Map;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.AWSGroupComputeResourcePrefEntity;
-import org.apache.airavata.compute.model.ComputeResourceReservationEntity;
-import org.apache.airavata.compute.model.GroupComputeResourcePrefEntity;
-import org.apache.airavata.compute.model.GroupComputeResourcePrefPK;
-import org.apache.airavata.compute.model.SlurmGroupComputeResourcePrefEntity;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.AwsComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ComputeResourceReservation;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.EnvironmentSpecificPreferences;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupAccountSSHProvisionerConfig;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.GroupComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.ResourceType;
-import org.apache.airavata.model.appcatalog.groupresourceprofile.proto.SlurmComputeResourcePreference;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by skariyat on 2/10/18.
- */
-@Component
-public class GrpComputePrefRepository
- extends AbstractRepository<
- GroupComputeResourcePreference, GroupComputeResourcePrefEntity, GroupComputeResourcePrefPK> {
-
- public GrpComputePrefRepository() {
- super(GroupComputeResourcePreference.class, GroupComputeResourcePrefEntity.class);
- }
-
- @Override
- protected GroupComputeResourcePreference toModel(GroupComputeResourcePrefEntity entity) {
- return ComputeMapper.INSTANCE.groupComputePrefToModel(entity);
- }
-
- @Override
- protected GroupComputeResourcePrefEntity toEntity(GroupComputeResourcePreference model) {
- return ComputeMapper.INSTANCE.groupComputePrefToEntity(model);
- }
-
- @Override
- public GroupComputeResourcePreference get(GroupComputeResourcePrefPK groupComputeResourcePrefPK) {
- GroupComputeResourcePreference pref = super.get(groupComputeResourcePrefPK);
- if (pref == null) {
- return null;
- }
-
- GroupComputeResourcePrefEntity ent =
- execute(em -> em.find(GroupComputeResourcePrefEntity.class, groupComputeResourcePrefPK));
- if (ent == null) {
- return pref;
- }
-
- if (ent instanceof SlurmGroupComputeResourcePrefEntity sl) {
- SlurmComputeResourcePreference.Builder scrpBuilder = SlurmComputeResourcePreference.newBuilder();
- if (sl.getAllocationProjectNumber() != null)
- scrpBuilder.setAllocationProjectNumber(sl.getAllocationProjectNumber());
- if (sl.getPreferredBatchQueue() != null) scrpBuilder.setPreferredBatchQueue(sl.getPreferredBatchQueue());
- if (sl.getQualityOfService() != null) scrpBuilder.setQualityOfService(sl.getQualityOfService());
- if (sl.getUsageReportingGatewayId() != null)
- scrpBuilder.setUsageReportingGatewayId(sl.getUsageReportingGatewayId());
- if (sl.getSshAccountProvisioner() != null)
- scrpBuilder.setSshAccountProvisioner(sl.getSshAccountProvisioner());
- if (sl.getSshAccountProvisionerAdditionalInfo() != null)
- scrpBuilder.setSshAccountProvisionerAdditionalInfo(sl.getSshAccountProvisionerAdditionalInfo());
- if (sl.getGroupSSHAccountProvisionerConfigs() != null) {
- for (Map<String, Object> cfg : sl.getGroupSSHAccountProvisionerConfigs()) {
- GroupAccountSSHProvisionerConfig.Builder cfgBuilder = GroupAccountSSHProvisionerConfig.newBuilder();
- if (cfg.get("resourceId") != null) cfgBuilder.setResourceId((String) cfg.get("resourceId"));
- if (cfg.get("groupResourceProfileId") != null)
- cfgBuilder.setGroupResourceProfileId((String) cfg.get("groupResourceProfileId"));
- if (cfg.get("configName") != null) cfgBuilder.setConfigName((String) cfg.get("configName"));
- if (cfg.get("configValue") != null) cfgBuilder.setConfigValue((String) cfg.get("configValue"));
- scrpBuilder.addGroupSshAccountProvisionerConfigs(cfgBuilder.build());
- }
- }
- if (sl.getReservations() != null) {
- for (ComputeResourceReservationEntity resEnt : sl.getReservations()) {
- ComputeResourceReservation.Builder resBuilder = ComputeResourceReservation.newBuilder()
- .setReservationId(resEnt.getReservationId())
- .setReservationName(resEnt.getReservationName())
- .setStartTime(resEnt.getStartTime().getTime())
- .setEndTime(resEnt.getEndTime().getTime());
- if (resEnt.getQueueNames() != null) {
- resBuilder.addAllQueueNames(resEnt.getQueueNames());
- }
- scrpBuilder.addReservations(resBuilder.build());
- }
- }
-
- EnvironmentSpecificPreferences esp = EnvironmentSpecificPreferences.newBuilder()
- .setSlurm(scrpBuilder.build())
- .build();
- pref = pref.toBuilder()
- .setResourceType(ResourceType.SLURM)
- .setSpecificPreferences(esp)
- .build();
-
- } else if (ent instanceof AWSGroupComputeResourcePrefEntity aws) {
- AwsComputeResourcePreference.Builder awsPrefBuilder = AwsComputeResourcePreference.newBuilder();
- if (aws.getRegion() != null) awsPrefBuilder.setRegion(aws.getRegion());
- if (aws.getPreferredAmiId() != null) awsPrefBuilder.setPreferredAmiId(aws.getPreferredAmiId());
- if (aws.getPreferredInstanceType() != null)
- awsPrefBuilder.setPreferredInstanceType(aws.getPreferredInstanceType());
-
- EnvironmentSpecificPreferences esp = EnvironmentSpecificPreferences.newBuilder()
- .setAws(awsPrefBuilder.build())
- .build();
- pref = pref.toBuilder()
- .setResourceType(ResourceType.AWS)
- .setSpecificPreferences(esp)
- .build();
- return pref;
- }
-
- return pref;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GwyResourceProfileRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GwyResourceProfileRepository.java
deleted file mode 100644
index b3c63bf3c4..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/GwyResourceProfileRepository.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.*;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.db.DBConstants;
-import org.apache.airavata.db.QueryConstants;
-import org.apache.airavata.interfaces.AppCatalogException;
-import org.apache.airavata.interfaces.GwyResourceProfile;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.ComputeResourcePreference;
-import org.apache.airavata.model.appcatalog.gatewayprofile.proto.GatewayResourceProfile;
-import org.apache.airavata.util.AiravataUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class GwyResourceProfileRepository
- extends AbstractRepository<GatewayResourceProfile, GatewayProfileEntity, String> implements GwyResourceProfile {
-
- private static final Logger logger = LoggerFactory.getLogger(GwyResourceProfileRepository.class);
-
- public GwyResourceProfileRepository() {
- super(GatewayResourceProfile.class, GatewayProfileEntity.class);
- }
-
- @Override
- protected GatewayResourceProfile toModel(GatewayProfileEntity entity) {
- return ComputeMapper.INSTANCE.gatewayProfileToModel(entity);
- }
-
- @Override
- protected GatewayProfileEntity toEntity(GatewayResourceProfile model) {
- return ComputeMapper.INSTANCE.gatewayProfileToEntity(model);
- }
-
- @Override
- public String addGatewayResourceProfile(GatewayResourceProfile gatewayResourceProfile) {
-
- return updateGatewayResourceProfile(gatewayResourceProfile);
- }
-
- @Override
- public void updateGatewayResourceProfile(String gatewayId, GatewayResourceProfile updatedProfile)
- throws AppCatalogException {
- updateGatewayResourceProfile(updatedProfile);
- }
-
- public String updateGatewayResourceProfile(GatewayResourceProfile gatewayResourceProfile) {
- String gatewayId = gatewayResourceProfile.getGatewayId();
- GatewayProfileEntity gatewayProfileEntity =
- ComputeMapper.INSTANCE.gatewayProfileToEntity(gatewayResourceProfile);
- // Explicitly set gatewayId since Dozer mapping does not handle gatewayID -> gatewayId conversion
- gatewayProfileEntity.setGatewayId(gatewayId);
- if (get(gatewayId) != null) {
- gatewayProfileEntity.setUpdateTime(AiravataUtils.getCurrentTimestamp());
- } else {
- gatewayProfileEntity.setCreationTime(AiravataUtils.getCurrentTimestamp());
- }
-
- if (gatewayProfileEntity.getComputeResourcePreferences() != null)
- gatewayProfileEntity.getComputeResourcePreferences().forEach(pref -> pref.setGatewayId(gatewayId));
-
- GatewayProfileEntity persistedCopy = execute(entityManager -> entityManager.merge(gatewayProfileEntity));
-
- return persistedCopy.getGatewayId();
- }
-
- @Override
- public GatewayResourceProfile getGatewayProfile(String gatewayId) {
- GatewayResourceProfile gatewayResourceProfile = get(gatewayId);
- return gatewayResourceProfile.toBuilder().setGatewayId(gatewayId).build();
- }
-
- @Override
- public boolean removeGatewayResourceProfile(String gatewayId) throws AppCatalogException {
- return delete(gatewayId);
- }
-
- @Override
- public List<GatewayResourceProfile> getAllGatewayProfiles() {
- return select(QueryConstants.FIND_ALL_GATEWAY_PROFILES, 0);
- }
-
- @Override
- public boolean removeComputeResourcePreferenceFromGateway(String gatewayId, String preferenceId) {
- ComputeResourcePreferencePK computeResourcePreferencePK = new ComputeResourcePreferencePK();
- computeResourcePreferencePK.setGatewayId(gatewayId);
- computeResourcePreferencePK.setComputeResourceId(preferenceId);
- (new ComputeResourcePrefRepository()).delete(computeResourcePreferencePK);
- return true;
- }
-
- @Override
- public boolean isGatewayResourceProfileExists(String gatewayId) throws AppCatalogException {
- return isExists(gatewayId);
- }
-
- @Override
- public ComputeResourcePreference getComputeResourcePreference(String gatewayId, String hostId) {
- ComputeResourcePreferencePK computeResourcePreferencePK = new ComputeResourcePreferencePK();
- computeResourcePreferencePK.setGatewayId(gatewayId);
- computeResourcePreferencePK.setComputeResourceId(hostId);
- return new ComputeResourcePrefRepository().get(computeResourcePreferencePK);
- }
-
- @Override
- public List<ComputeResourcePreference> getAllComputeResourcePreferences(String gatewayId) {
- Map<String, Object> queryParameters = new HashMap<>();
- queryParameters.put(DBConstants.ComputeResourcePreference.GATEWAY_ID, gatewayId);
- return new ComputeResourcePrefRepository()
- .select(QueryConstants.FIND_ALL_COMPUTE_RESOURCE_PREFERENCES, -1, 0, queryParameters);
- }
-
- @Override
- public List<String> getGatewayProfileIds(String gatewayName) throws AppCatalogException {
- // not used anywhere. Skipping the implementation
- return null;
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/QueueStatusRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/QueueStatusRepository.java
deleted file mode 100644
index f3d9b7acd2..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/QueueStatusRepository.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.QueueStatusEntity;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.db.DBConstants;
-import org.apache.airavata.db.QueryConstants;
-import org.apache.airavata.interfaces.RegistryException;
-import org.apache.airavata.model.status.proto.QueueStatusModel;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class QueueStatusRepository extends AbstractRepository<QueueStatusModel, QueueStatusEntity, String> {
- private static final Logger logger = LoggerFactory.getLogger(QueueStatusRepository.class);
-
- public QueueStatusRepository() {
- super(QueueStatusModel.class, QueueStatusEntity.class);
- }
-
- @Override
- protected QueueStatusModel toModel(QueueStatusEntity entity) {
- return ComputeMapper.INSTANCE.queueStatusToModel(entity);
- }
-
- @Override
- protected QueueStatusEntity toEntity(QueueStatusModel model) {
- return ComputeMapper.INSTANCE.queueStatusToEntity(model);
- }
-
- public boolean createQueueStatuses(List<QueueStatusModel> queueStatusModels) throws RegistryException {
-
- for (QueueStatusModel queueStatusModel : queueStatusModels) {
- QueueStatusEntity queueStatusEntity = ComputeMapper.INSTANCE.queueStatusToEntity(queueStatusModel);
- execute(entityManager -> entityManager.merge(queueStatusEntity));
- }
-
- return true;
- }
-
- public List<QueueStatusModel> getLatestQueueStatuses() throws RegistryException {
- List<QueueStatusModel> queueStatusModelList = select(QueryConstants.GET_ALL_QUEUE_STATUS_MODELS, 0);
- return queueStatusModelList;
- }
-
- public Optional<QueueStatusModel> getQueueStatus(String hostName, String queueName) throws RegistryException {
- Map<String, Object> queryParameters = new HashMap<>();
- queryParameters.put(DBConstants.QueueStatus.HOST_NAME, hostName);
- queryParameters.put(DBConstants.QueueStatus.QUEUE_NAME, queueName);
- List<QueueStatusModel> queueStatusModels = select(QueryConstants.FIND_QUEUE_STATUS, 1, 0, queryParameters);
- if (queueStatusModels != null && !queueStatusModels.isEmpty()) {
- return Optional.of(queueStatusModels.get(0));
- }
- return Optional.empty();
- }
-}
diff --git a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ResourceJobManagerRepository.java b/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ResourceJobManagerRepository.java
deleted file mode 100644
index 1bbee1a3bc..0000000000
--- a/airavata-api/compute-service/src/main/java/org/apache/airavata/compute/repository/ResourceJobManagerRepository.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.apache.airavata.compute.repository;
-
-import jakarta.persistence.Query;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.airavata.compute.mapper.ComputeMapper;
-import org.apache.airavata.compute.model.*;
-import org.apache.airavata.db.AbstractRepository;
-import org.apache.airavata.db.DBConstants;
-import org.apache.airavata.db.QueryConstants;
-import org.apache.airavata.model.appcatalog.computeresource.proto.JobManagerCommand;
-import org.apache.airavata.model.appcatalog.computeresource.proto.ResourceJobManager;
-import org.apache.airavata.model.parallelism.proto.ApplicationParallelismType;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ResourceJobManagerRepository
- extends AbstractRepository<ResourceJobManager, ResourceJobManagerEntity, String> {
-
- public ResourceJobManagerRepository() {
- super(ResourceJobManager.class, ResourceJobManagerEntity.class);
- }
-
- @Override
- protected ResourceJobManager toModel(ResourceJobManagerEntity entity) {
- return ComputeMapper.INSTANCE.resourceJobManagerToModel(entity);
- }
-
- @Override
- protected ResourceJobManagerEntity toEntity(ResourceJobManager model) {
- return ComputeMapper.INSTANCE.resourceJobManagerToEntity(model);
- }
-
... 99416 lines suppressed ...