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

      public Optional<ProjectConfiguration> findByProjectId(UUID projectId)
      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

      public ProjectConfiguration getConfiguration(UUID projectId)
      Get configuration by project ID.
      Parameters:
      projectId - project ID
      Returns:
      ProjectConfiguration instance
    • getOldConfig

      public FlowConfigDto getOldConfig(UUID projectId)
      Make old version of config for backward compatible.
      Parameters:
      projectId - projectId
      Returns:
      FlowConfigDto
    • getProjectPathWithType

      public Path getProjectPathWithType(UUID projectId, ProjectFileType projectFileType, UUID sessionId)
      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 (as MultipartFile) 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

      public ProjectConfigurationDto toDto(ProjectConfiguration projectConfiguration)
      Map list of ProjectConfiguration to list of ProjectConfigurationDto.
      Parameters:
      projectConfiguration - list of ProjectConfiguration
      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 - projectConfiguration
      projectConfigurationDto - ProjectConfigurationDto
      Returns:
      ProjectConfigurationDto
    • updateProject

      public void updateProject(ProjectConfiguration projectConfiguration, boolean isEthalonFiles)
      Update project.
    • updateProjectWithReplicationOff

      public void updateProjectWithReplicationOff(ProjectConfiguration projectConfiguration, boolean isEthalonFiles)
      Update project.
    • get

      public ProjectConfiguration get(UUID id)
      Specified by:
      get in interface EntityHistoryService
      Specified by:
      get in class AbstractEntityHistoryService<ProjectConfiguration>
    • restore

      public ProjectConfiguration restore(DateAuditorEntity entity)
      Specified by:
      restore in interface EntityHistoryService
      Specified by:
      restore in class AbstractEntityHistoryService<ProjectConfiguration>