From 79fec2e9c967fc0dc19f295bdff50dd13ccbb84e Mon Sep 17 00:00:00 2001 From: yhampe Date: Fri, 9 Aug 2024 09:38:23 +0200 Subject: [PATCH] RED-5624: migration working on migration --- .../migration/MigrationStarterService.java | 2 ++ .../persistence/LegalBasisMigrationService.java | 16 ++++++++++++++++ .../persistence/repository/FileRepository.java | 7 +++++++ 3 files changed, 25 insertions(+) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/MigrationStarterService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/MigrationStarterService.java index 34d0fe647..73c883398 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/MigrationStarterService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/MigrationStarterService.java @@ -69,6 +69,8 @@ public class MigrationStarterService { private void seedMigration() { + log.info("seeding migration"); + log.info("latest version {}", migrationPersistenceService.getLatestProcessedVersion()); if (migrationPersistenceService.getLatestProcessedVersion() == null) { migrations.sort(Comparator.comparing(Migration::getVersion).reversed()); migrationPersistenceService.insertMigration("migration start version", migrations.get(0).getVersion()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMigrationService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMigrationService.java index 64ab5ae16..b04afbb9e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMigrationService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMigrationService.java @@ -1,7 +1,9 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; import java.nio.charset.StandardCharsets; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import org.springframework.stereotype.Service; @@ -53,6 +55,14 @@ public class LegalBasisMigrationService { public void migrate() { log.info("Starting migration: Adding technical names to legal basis"); + List approvedFileIds = fileRepository.getApprovedFiles() + .stream() + .map(file -> file.getId()) + .collect(Collectors.toList()); + List hardDeletedFileIds = fileRepository.getHardDeletedFiles() + .stream() + .map(file -> file.getId()) + .collect(Collectors.toList()); this.legalBasisMappingRepository.findAll() .stream() .peek(entry -> entry.getLegalBasis() @@ -62,6 +72,12 @@ public class LegalBasisMigrationService { .forEach(legalBasisMappingRepository::save); this.entityLogDocumentRepository.findAll() .stream() + .filter(ent -> { + if (approvedFileIds.contains(ent.getFileId()) || hardDeletedFileIds.contains(ent.getFileId())) { + return false; + } + return true; + }) .peek(entry -> entry.getLegalBasis() .forEach(lb -> { lb.setTechnicalName(getOrDefault(lb.getName())); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java index 16d4538b8..c7cad8c22 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java @@ -304,6 +304,13 @@ public interface FileRepository extends JpaRepository { List getSoftDeletedFiles(@Param("dossierIds") List dossierIds); + @Query("select f from FileEntity f where f.workflowStatus = 'APPROVED'") + List getApprovedFiles(); + + + @Query("select f from FileEntity f where f.hardDeletedTime is not null") + List getHardDeletedFiles(); + @Query("select f from FileEntity f where f.processingStatus = 'ERROR' and f.deleted is null and f.hardDeletedTime is null ") List getAllErrorFilesExcludeDeleted();