diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/DictionaryToEntityMigration2.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/DictionaryToEntityMigration2.java index 6394cd9bf..a5f46f846 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/DictionaryToEntityMigration2.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/DictionaryToEntityMigration2.java @@ -1,5 +1,7 @@ package com.iqser.red.service.peristence.v1.server.migration.migrations; +import java.util.ArrayList; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -10,6 +12,8 @@ import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageS import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; +import com.iqser.red.service.redaction.v1.model.RedactionLog; +import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -44,27 +48,34 @@ public class DictionaryToEntityMigration2 extends Migration { @Override protected void migrate() { - log.info("in migrate of DictionaryToEntityMigration2"); var dossiers = dossierPersistenceService.findAllDossiers(); - log.info("dossiers are: {}", dossiers); dossiers.forEach(dossier -> { var files = fileStatusPersistenceService.getStatusesForDossier(dossier.getId()); - log.info("files in dossier {} are: {}", dossier.getId(), files); + log.info("Start migration of dossier {}", dossier.getId()); files.forEach(file -> { - log.info("Files is currently: {}", file); + log.info("Start migration of file {}", file.getId()); if (file.getDeleted() == null) { + var newRedactionLogEntries = new ArrayList(); var redactionLog = fileManagementStorageService.getRedactionLog(dossier.getId(), file.getId()); - redactionLog.setAnalysisVersion(2); - var remIf = redactionLog.getRedactionLogEntry().removeIf(entry -> entry.getType().equals("false_positive")); - log.info("remIf returned {}", remIf); + redactionLog.getRedactionLogEntry().forEach(entry -> { + + if (entry.getType().equals("false_positive")){ + log.info("skipping false_positive for dossier {} and file {}", dossier.getId(), file.getId()); + return; + } + if (entry.getType().startsWith("recommendation_")) { entry.setType(entry.getType().substring(15)); entry.setRecommendation(true); log.info("removed _recommendation"); } + + newRedactionLogEntries.add(entry); }); + + redactionLog.setRedactionLogEntry(newRedactionLogEntries); try { fileManagementStorageService.storeObject(dossier.getId(), file.getId(), FileType.REDACTION_LOG, objectMapper.writeValueAsBytes(redactionLog)); log.info("Stored dossierId: {} and fileId: {}", dossier.getId(), file.getId());