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 ...