From 535f9ce8da4369e4c29aa5291a05aadaecb8874a Mon Sep 17 00:00:00 2001 From: yhampe Date: Thu, 8 Aug 2024 14:36:54 +0200 Subject: [PATCH 1/5] RED-5624: migration added class for migration --- .../AddTechnicalNameToJustifications20.java | 81 +++++++++++++++++++ .../LegalBasisMappingPersistenceService.java | 12 ++- .../mongo/service/EntityLogMongoService.java | 6 ++ 3 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java new file mode 100644 index 000000000..07599a62e --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java @@ -0,0 +1,81 @@ +package com.iqser.red.service.persistence.management.v1.processor.migration.migrations; + +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.iqser.red.service.persistence.management.v1.processor.migration.Migration; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService; +import com.iqser.red.service.persistence.service.v1.api.shared.mongo.service.EntityLogMongoService; + +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Setter +@Service +public class AddTechnicalNameToJustifications20 extends Migration { + + private static final String NAME = "Migration to add a technical name to justifications"; + private static final long VERSION = 20; + private static final Map technicalNameMapping = Map.ofEntries(Map.entry("1. names and addresses of persons", "names_addresses_persons"), + Map.entry("1.1 personal data (incl. geolocation); Article 39(e)(3)", + "personal_data_geolocation_article_39e3"), + Map.entry("1.2 vertebrate study related personal data (incl. geolocation); Article 39(e)(2)", + "vertebrate_study_personal_data_geolocation_article_39e2"), + Map.entry("2. proprietary information", "proprietary_information"), + Map.entry("2. manufacturing or production process", "manufacturing_production_process"), + Map.entry("2. methods of analysis for impurities", "methods_analysis_impurities"), + Map.entry("3. method of manufacture", "method_manufacture"), + Map.entry("3. n/a", "n_a"), + Map.entry("3. links between a producer and applicant", "links_producer_applicant"), + Map.entry("4. commercial information", "commercial_information"), + Map.entry("4. composition of a plant protection product", "composition_plant_protection_product"), + Map.entry("5. quantitative composition", "quantitative_composition"), + Map.entry("5. results of production batches", "results_production_batches"), + Map.entry("6. specification of impurity of the active substance", + "specification_impurity_active_substance"), + Map.entry("6. specification of impurity", "specification_impurity"), + Map.entry("7. links between a producer and applicant", "links_producer_applicant"), + Map.entry("7. results of production batches", "results_production_batches"), + Map.entry("8. composition of a plant protection product", "composition_plant_protection_product") + // Add any additional mappings here + ); + @Autowired + private LegalBasisMappingPersistenceService legalBasisMappingPersistenceService; + @Autowired + private EntityLogMongoService entityLogMongoService; + + + public AddTechnicalNameToJustifications20() { + + super(NAME, VERSION); + } + + + @Override + protected void migrate() { + //migrate all existing legalbasismappings + this.legalBasisMappingPersistenceService.getAllLegalBasisMappingEntities() + .stream() + .forEach(entry -> { + entry.getLegalBasis() + .stream() + .forEach(lb -> { + lb.setTechnicalName(technicalNameMapping.get(lb.getName())); + }); + }); + + //migrate entitylogs + this.entityLogMongoService.findAllEntityLogDocuments() + .stream() + .forEach(doc -> { + doc.getLegalBasis() + .forEach(lb -> { + lb.setTechnicalName(technicalNameMapping.get(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/LegalBasisMappingPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java index 874d90457..04f7089dd 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java @@ -7,8 +7,6 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; -import jakarta.transaction.Transactional; - import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.LegalBasisEntity; @@ -17,6 +15,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.BadRe import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.legalbasis.LegalBasis; +import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; @Service @@ -55,6 +54,13 @@ public class LegalBasisMappingPersistenceService { } + @Transactional + public List getAllLegalBasisMappingEntities() { + + return this.legalBasisMappingRepository.findAll(); + } + + private LegalBasisMappingEntity getLegalBasisMappingOrCreate(String dossierTemplateId) { return legalBasisMappingRepository.findById(dossierTemplateId) @@ -112,7 +118,7 @@ public class LegalBasisMappingPersistenceService { throw new BadRequestException(String.format("The legal basis is too long (%s), max length %s", legalBasis.getReason().length(), MAX_LEGAL_BASIS_LENGTH)); } - if(legalBasis.getTechnicalName().length() > MAX_LEGAL_BASIS_LENGTH) { + if (legalBasis.getTechnicalName().length() > MAX_LEGAL_BASIS_LENGTH) { throw new BadRequestException(String.format("The legal basis is too long (%s), max length %s", legalBasis.getTechnicalName().length(), MAX_LEGAL_BASIS_LENGTH)); } } diff --git a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java index cac1b8925..625b1eced 100644 --- a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java +++ b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java @@ -197,6 +197,12 @@ public class EntityLogMongoService { } + public List findAllEntityLogDocuments() { + + return this.entityLogDocumentRepository.findAll(); + } + + public boolean entityLogDocumentExists(String dossierId, String fileId) { return entityLogDocumentRepository.existsById(mapper.getLogId(dossierId, fileId)); -- 2.47.2 From cff6826424c953e6bc2bd4951dcf4416dddc2c46 Mon Sep 17 00:00:00 2001 From: yhampe Date: Thu, 8 Aug 2024 16:00:36 +0200 Subject: [PATCH 2/5] RED-5624: migration working on migration --- .../AddTechnicalNameToJustifications20.java | 53 +------------ .../LegalBasisMigrationService.java | 79 +++++++++++++++++++ 2 files changed, 83 insertions(+), 49 deletions(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMigrationService.java diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java index 07599a62e..101855261 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/AddTechnicalNameToJustifications20.java @@ -1,13 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.migration.migrations; -import java.util.Map; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.management.v1.processor.migration.Migration; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.shared.mongo.service.EntityLogMongoService; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMigrationService; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -19,33 +16,8 @@ public class AddTechnicalNameToJustifications20 extends Migration { private static final String NAME = "Migration to add a technical name to justifications"; private static final long VERSION = 20; - private static final Map technicalNameMapping = Map.ofEntries(Map.entry("1. names and addresses of persons", "names_addresses_persons"), - Map.entry("1.1 personal data (incl. geolocation); Article 39(e)(3)", - "personal_data_geolocation_article_39e3"), - Map.entry("1.2 vertebrate study related personal data (incl. geolocation); Article 39(e)(2)", - "vertebrate_study_personal_data_geolocation_article_39e2"), - Map.entry("2. proprietary information", "proprietary_information"), - Map.entry("2. manufacturing or production process", "manufacturing_production_process"), - Map.entry("2. methods of analysis for impurities", "methods_analysis_impurities"), - Map.entry("3. method of manufacture", "method_manufacture"), - Map.entry("3. n/a", "n_a"), - Map.entry("3. links between a producer and applicant", "links_producer_applicant"), - Map.entry("4. commercial information", "commercial_information"), - Map.entry("4. composition of a plant protection product", "composition_plant_protection_product"), - Map.entry("5. quantitative composition", "quantitative_composition"), - Map.entry("5. results of production batches", "results_production_batches"), - Map.entry("6. specification of impurity of the active substance", - "specification_impurity_active_substance"), - Map.entry("6. specification of impurity", "specification_impurity"), - Map.entry("7. links between a producer and applicant", "links_producer_applicant"), - Map.entry("7. results of production batches", "results_production_batches"), - Map.entry("8. composition of a plant protection product", "composition_plant_protection_product") - // Add any additional mappings here - ); @Autowired - private LegalBasisMappingPersistenceService legalBasisMappingPersistenceService; - @Autowired - private EntityLogMongoService entityLogMongoService; + private LegalBasisMigrationService legalBasisMigrationService; public AddTechnicalNameToJustifications20() { @@ -56,26 +28,9 @@ public class AddTechnicalNameToJustifications20 extends Migration { @Override protected void migrate() { - //migrate all existing legalbasismappings - this.legalBasisMappingPersistenceService.getAllLegalBasisMappingEntities() - .stream() - .forEach(entry -> { - entry.getLegalBasis() - .stream() - .forEach(lb -> { - lb.setTechnicalName(technicalNameMapping.get(lb.getName())); - }); - }); - //migrate entitylogs - this.entityLogMongoService.findAllEntityLogDocuments() - .stream() - .forEach(doc -> { - doc.getLegalBasis() - .forEach(lb -> { - lb.setTechnicalName(technicalNameMapping.get(lb.getName())); - }); - }); + this.legalBasisMigrationService.migrate(); + } } 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 new file mode 100644 index 000000000..64ab5ae16 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMigrationService.java @@ -0,0 +1,79 @@ +package com.iqser.red.service.persistence.management.v1.processor.service.persistence; + +import java.nio.charset.StandardCharsets; +import java.util.Map; + +import org.springframework.stereotype.Service; + +import com.google.common.hash.HashFunction; +import com.google.common.hash.Hashing; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository; +import com.iqser.red.service.persistence.service.v1.api.shared.mongo.repository.EntityLogDocumentRepository; + +import jakarta.transaction.Transactional; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Service +@Transactional +@RequiredArgsConstructor +@Slf4j +public class LegalBasisMigrationService { + + private static final HashFunction hashFunction = Hashing.murmur3_128(); + private static final Map technicalNameMapping = Map.ofEntries(Map.entry("1. names and addresses of persons", "names_addresses_persons"), + Map.entry("1.1 personal data (incl. geolocation); Article 39(e)(3)", + "personal_data_geolocation_article_39e3"), + Map.entry("1.2 vertebrate study related personal data (incl. geolocation); Article 39(e)(2)", + "vertebrate_study_personal_data_geolocation_article_39e2"), + Map.entry("2. proprietary information", "proprietary_information"), + Map.entry("2. manufacturing or production process", "manufacturing_production_process"), + Map.entry("2. methods of analysis for impurities", "methods_analysis_impurities"), + Map.entry("3. method of manufacture", "method_manufacture"), + Map.entry("3. n/a", "n_a"), + Map.entry("3. links between a producer and applicant", "links_producer_applicant"), + Map.entry("4. commercial information", "commercial_information"), + Map.entry("4. composition of a plant protection product", "composition_plant_protection_product"), + Map.entry("5. quantitative composition", "quantitative_composition"), + Map.entry("5. results of production batches", "results_production_batches"), + Map.entry("6. specification of impurity of the active substance", + "specification_impurity_active_substance"), + Map.entry("6. specification of impurity", "specification_impurity"), + Map.entry("7. links between a producer and applicant", "links_producer_applicant"), + Map.entry("7. results of production batches", "results_production_batches"), + Map.entry("8. composition of a plant protection product", "composition_plant_protection_product") + // Add any additional mappings here + ); + private final LegalBasisMappingRepository legalBasisMappingRepository; + private final EntityLogDocumentRepository entityLogDocumentRepository; + private final FileRepository fileRepository; + + + public void migrate() { + + log.info("Starting migration: Adding technical names to legal basis"); + this.legalBasisMappingRepository.findAll() + .stream() + .peek(entry -> entry.getLegalBasis() + .forEach(lb -> { + lb.setTechnicalName(getOrDefault(lb.getName())); + })) + .forEach(legalBasisMappingRepository::save); + this.entityLogDocumentRepository.findAll() + .stream() + .peek(entry -> entry.getLegalBasis() + .forEach(lb -> { + lb.setTechnicalName(getOrDefault(lb.getName())); + })) + .forEach(entityLogDocumentRepository::save); + log.info("Finishing migration: Adding technical names to legal basis"); + } + + + private static String getOrDefault(String lbName) { + + return technicalNameMapping.getOrDefault(lbName, String.valueOf(hashFunction.hashBytes(lbName.getBytes(StandardCharsets.UTF_8)))); + } + +} -- 2.47.2 From 79fec2e9c967fc0dc19f295bdff50dd13ccbb84e Mon Sep 17 00:00:00 2001 From: yhampe Date: Fri, 9 Aug 2024 09:38:23 +0200 Subject: [PATCH 3/5] 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(); -- 2.47.2 From 96eef1a7a28bd897cb16ccc66448bdc29f6ff2b6 Mon Sep 17 00:00:00 2001 From: yhampe Date: Fri, 9 Aug 2024 10:10:06 +0200 Subject: [PATCH 4/5] RED-5624: migration working on migration --- .../persistence/LegalBasisMappingPersistenceService.java | 7 ------- .../service/persistence/LegalBasisMigrationService.java | 9 +++++++++ .../api/shared/mongo/service/EntityLogMongoService.java | 6 ------ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java index 04f7089dd..7bfbe9b3a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisMappingPersistenceService.java @@ -54,13 +54,6 @@ public class LegalBasisMappingPersistenceService { } - @Transactional - public List getAllLegalBasisMappingEntities() { - - return this.legalBasisMappingRepository.findAll(); - } - - private LegalBasisMappingEntity getLegalBasisMappingOrCreate(String dossierTemplateId) { return legalBasisMappingRepository.findById(dossierTemplateId) 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 b04afbb9e..da4e084fe 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 @@ -11,6 +11,7 @@ import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.LegalBasisChangeRepository; import com.iqser.red.service.persistence.service.v1.api.shared.mongo.repository.EntityLogDocumentRepository; import jakarta.transaction.Transactional; @@ -50,6 +51,7 @@ public class LegalBasisMigrationService { private final LegalBasisMappingRepository legalBasisMappingRepository; private final EntityLogDocumentRepository entityLogDocumentRepository; private final FileRepository fileRepository; + private final LegalBasisChangeRepository legalBasisChangeRepository; public void migrate() { @@ -83,6 +85,13 @@ public class LegalBasisMigrationService { lb.setTechnicalName(getOrDefault(lb.getName())); })) .forEach(entityLogDocumentRepository::save); + this.legalBasisChangeRepository.findAll() + .stream() + .peek(entry -> { + entry.setLegalBasis(technicalNameMapping.getOrDefault(entry.getLegalBasis(), entry.getLegalBasis())); + }) + .forEach(legalBasisChangeRepository::save); + log.info("Finishing migration: Adding technical names to legal basis"); } diff --git a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java index 625b1eced..cac1b8925 100644 --- a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java +++ b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/EntityLogMongoService.java @@ -197,12 +197,6 @@ public class EntityLogMongoService { } - public List findAllEntityLogDocuments() { - - return this.entityLogDocumentRepository.findAll(); - } - - public boolean entityLogDocumentExists(String dossierId, String fileId) { return entityLogDocumentRepository.existsById(mapper.getLogId(dossierId, fileId)); -- 2.47.2 From b24dcdaa8687336e7d2327623c501529ce591d87 Mon Sep 17 00:00:00 2001 From: yhampe Date: Fri, 9 Aug 2024 13:29:23 +0200 Subject: [PATCH 5/5] RED-5624: migration migration is working --- .../v1/processor/migration/MigrationStarterService.java | 2 -- 1 file changed, 2 deletions(-) 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 73c883398..34d0fe647 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,8 +69,6 @@ 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()); -- 2.47.2