Class ProjectConfigurationService
java.lang.Object
org.qubership.atp.mia.service.history.impl.AbstractEntityHistoryService<ProjectConfiguration>
org.qubership.atp.mia.service.configuration.ProjectConfigurationService
- All Implemented Interfaces:
EntityHistoryService
@Service
@Scope(proxyMode=TARGET_CLASS)
public class ProjectConfigurationService
extends AbstractEntityHistoryService<ProjectConfiguration>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<org.springframework.core.io.Resource> archiveConfigToZip(UUID projectId) archive configuration to Zip file.findByProjectId(UUID projectId) Find project configuration by project ID.getConfigByProjectId(UUID projectId) Get configuration by project ID.getConfiguration(UUID projectId) Get configuration by project ID.getOldConfig(UUID projectId) Make old version of config for backward compatible.getProjectPathWithType(UUID projectId, ProjectFileType projectFileType, UUID sessionId) Gets path of project for files with needed type.hardReloadConfiguration(ProjectConfiguration projectConfiguration) Get configuration by project ID and reload from external resource.hardReloadConfiguration(ProjectConfiguration projectConfiguration, boolean isMigration) Hard reload configuration from GIT (if present).loadConfigFromZip(UUID projectId, org.springframework.web.multipart.MultipartFile file) Upload zip config (asMultipartFile) to MIA and applies it.loadConfigurationFromGit(ProjectConfiguration projectConfiguration, boolean isMigration) Load configuration from GIT.voidremoveProject(UUID projectId, Boolean withPot) Remove project by ID.restore(DateAuditorEntity entity) voidsynchronizeConfiguration(UUID projectId, Supplier<ProjectConfiguration> saveConfiguration, boolean isEthalonFiles) Synchronize project DB and GIT.toDto(ProjectConfiguration projectConfiguration) Map list of ProjectConfiguration to list of ProjectConfigurationDto.updateConfiguration(ProjectConfiguration projectConfiguration, ProjectConfigurationDto projectConfigurationDto) Update ProjectConfiguration fields (GitUrl, CommonConfiguration, HeaderConfiguration, PotHeaderConfiguration.voidupdateProject(ProjectConfiguration projectConfiguration, boolean isEthalonFiles) Update project.voidupdateProjectWithReplicationOff(ProjectConfiguration projectConfiguration, boolean isEthalonFiles) Update project.
-
Constructor Details
-
ProjectConfigurationService
public ProjectConfigurationService()
-
-
Method Details
-
archiveConfigToZip
public org.springframework.http.ResponseEntity<org.springframework.core.io.Resource> archiveConfigToZip(UUID projectId) archive configuration to Zip file.- Parameters:
projectId- Project ID- Returns:
- Resource
-
findByProjectId
Find project configuration by project ID.- Parameters:
projectId- project ID- Returns:
- Optional
-
getConfigByProjectId
@Cacheable(value="ATP_MIA_CONFIGURATION_OS", key="#projectId", condition="#projectId != null") public ProjectConfiguration getConfigByProjectId(UUID projectId) Get configuration by project ID.- Parameters:
projectId- project ID- Returns:
- ProjectConfiguration instance
-
getConfiguration
Get configuration by project ID.- Parameters:
projectId- project ID- Returns:
- ProjectConfiguration instance
-
getOldConfig
Make old version of config for backward compatible.- Parameters:
projectId- projectId- Returns:
FlowConfigDto
-
getProjectPathWithType
Gets path of project for files with needed type.- Parameters:
projectFileType- ProjectFileType- Returns:
- path
-
hardReloadConfiguration
@Transactional @CacheEvict(value="ATP_MIA_CONFIGURATION_OS", key="#projectConfiguration.projectId", condition="#projectConfiguration.projectId != null") public ProjectConfiguration hardReloadConfiguration(ProjectConfiguration projectConfiguration) Get configuration by project ID and reload from external resource.- Parameters:
projectConfiguration- project Configuration- Returns:
- ProjectConfiguration instance
-
hardReloadConfiguration
@CacheEvict(value="ATP_MIA_CONFIGURATION_OS", key="#projectConfiguration.projectId", condition="#projectConfiguration.projectId != null") public ProjectConfiguration hardReloadConfiguration(ProjectConfiguration projectConfiguration, boolean isMigration) Hard reload configuration from GIT (if present).- Parameters:
projectConfiguration- projectConfiguration- Returns:
- projectConfiguration
-
loadConfigFromZip
@Transactional @CacheEvict(value="ATP_MIA_CONFIGURATION_OS", key="#projectId", condition="#projectId != null") public ProjectConfiguration loadConfigFromZip(UUID projectId, org.springframework.web.multipart.MultipartFile file) Upload zip config (asMultipartFile) to MIA and applies it.- Parameters:
projectId- id of project which config need to be updated.file- directory which is contains MIA config.- Returns:
- true if success, otherwise throws exception.
-
loadConfigurationFromGit
public ProjectConfiguration loadConfigurationFromGit(ProjectConfiguration projectConfiguration, boolean isMigration) throws IOException Load configuration from GIT.- Parameters:
projectConfiguration-ProjectConfiguration- Returns:
- deserialized
ProjectConfiguration - Throws:
IOException
-
removeProject
@Transactional @CacheEvict(value="ATP_MIA_CONFIGURATION_OS", key="#projectId", condition="#projectId != null") public void removeProject(UUID projectId, Boolean withPot) Remove project by ID.- Parameters:
projectId- project ID
-
synchronizeConfiguration
@CacheEvict(value="ATP_MIA_CONFIGURATION_OS", key="#projectId") @Transactional public void synchronizeConfiguration(UUID projectId, Supplier<ProjectConfiguration> saveConfiguration, boolean isEthalonFiles) Synchronize project DB and GIT. -
toDto
Map list of ProjectConfiguration to list of ProjectConfigurationDto.- Parameters:
projectConfiguration- list ofProjectConfiguration- Returns:
- list of
ProjectConfigurationDto
-
updateConfiguration
@Transactional @CacheEvict(value="ATP_MIA_CONFIGURATION_OS", key="#projectConfiguration.projectId", condition="#projectConfiguration.projectId != null") public ProjectConfigurationDto updateConfiguration(ProjectConfiguration projectConfiguration, ProjectConfigurationDto projectConfigurationDto) Update ProjectConfiguration fields (GitUrl, CommonConfiguration, HeaderConfiguration, PotHeaderConfiguration.- Parameters:
projectConfiguration- projectConfigurationprojectConfigurationDto-ProjectConfigurationDto- Returns:
ProjectConfigurationDto
-
updateProject
Update project. -
updateProjectWithReplicationOff
public void updateProjectWithReplicationOff(ProjectConfiguration projectConfiguration, boolean isEthalonFiles) Update project. -
get
- Specified by:
getin interfaceEntityHistoryService- Specified by:
getin classAbstractEntityHistoryService<ProjectConfiguration>
-
restore
- Specified by:
restorein interfaceEntityHistoryService- Specified by:
restorein classAbstractEntityHistoryService<ProjectConfiguration>
-