From 4e5a7a76540f128de3e8a6df8f9d4f878dc4041b Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Wed, 6 Jul 2022 10:44:50 +0200 Subject: [PATCH] RED-4489: Bugfix with Filesize migration. Use FileStatusPersistenceService instead of FileRepository --- .../FileStatusPersistenceService.java | 15 ++++++++++- .../migrations/FileSizeMigration8.java | 26 ++++++++++++------- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index 567302aaf..22767fb9f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -145,6 +145,13 @@ public class FileStatusPersistenceService { } + @Transactional + public void updateFileSize(String fileId, long fileSize) { + + fileRepository.updateFileSize(fileId, fileSize); + } + + @Transactional public void setUpdateStatusIndexingSuccessful(String fileId) { @@ -221,6 +228,12 @@ public class FileStatusPersistenceService { } + public List getAllFiles() { + + return fileRepository.findAll(); + } + + public List getSoftDeletedFiles(List dossierIds) { return fileRepository.getSoftDeletedFiles(dossierIds); @@ -313,7 +326,7 @@ public class FileStatusPersistenceService { .truncatedTo(ChronoUnit.MILLIS), OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); } else { - fileRepository.findById(fileId).ifPresent((file) -> file.setExcludedPages(new HashSet<>())); + fileRepository.findById(fileId).ifPresent(file -> file.setExcludedPages(new HashSet<>())); countUpdate = fileRepository.overwriteFile(fileId, filename, uploader, ProcessingStatus.UNPROCESSED, WorkflowStatus.NEW, OffsetDateTime.now() .truncatedTo(ChronoUnit.MILLIS), OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/FileSizeMigration8.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/FileSizeMigration8.java index 92cb54515..0049b9aa9 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/FileSizeMigration8.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/FileSizeMigration8.java @@ -1,24 +1,31 @@ package com.iqser.red.service.peristence.v1.server.migration.migrations; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + import com.iqser.red.service.peristence.v1.server.migration.Migration; import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +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 lombok.Setter; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; @Slf4j @Setter @Service -public class FileSizeMigration8 extends Migration { +public class + +FileSizeMigration8 extends Migration { private static final String NAME = "Update file size"; private static final long VERSION = 8; @Autowired - private FileRepository fileRepository; + private FileStatusPersistenceService fileStatusPersistenceService; @Autowired private FileManagementStorageService fileManagementStorageService; @@ -33,23 +40,24 @@ public class FileSizeMigration8 extends Migration { @Override protected void migrate() { - var allFiles = fileRepository.findAll(); + List allFiles = fileStatusPersistenceService.getAllFiles(); + + log.info("Number of all files: {}", allFiles.size()); allFiles.forEach(file -> { // not hard deleted if (file.getHardDeletedTime() == null) { try { var originFile = fileManagementStorageService.getStoredObjectBytes(file.getDossierId(), file.getId(), FileType.ORIGIN); - fileRepository.updateFileSize(file.getId(), originFile.length); + fileStatusPersistenceService.updateFileSize(file.getId(), originFile.length); } catch (Exception e) { - log.warn("Failed to load file bytes for file: {} in dossier {} ", file.getId(), file.getDossierId()); + log.warn("Failed to load file bytes for file: {} in dossier {}. Error message: {} ", file.getId(), file.getDossierId(), e.getMessage()); } } }); } - }