From 35d688c135442cb5cbc3806cea07368d107adae9 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 22 Nov 2021 10:18:59 +0200 Subject: [PATCH] Test fix --- .../v1/processor/entity/dossier/FileEntity.java | 2 +- .../persistence/FileStatusPersistenceService.java | 10 +++++----- .../service/persistence/repository/FileRepository.java | 1 - .../v1/server/controller/UploadController.java | 5 ++++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java index 9df3ae39a..50284ca77 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java @@ -141,7 +141,7 @@ public class FileEntity { return deleted != null; } - public boolean isDeleted() { + public boolean isSoftOrHardDeleted() { return deleted != null || hardDeletedTime != null || ProcessingStatus.DELETED.equals(processingStatus); } 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 2cc39a622..7f082bd87 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 @@ -158,7 +158,7 @@ public class FileStatusPersistenceService { fileAttributesRepository.deleteByFileId(fileId); fileRepository.findById(fileId).ifPresentOrElse((file) -> { - if (file.isDeleted()) { + if (file.isSoftOrHardDeleted()) { return; } @@ -176,7 +176,7 @@ public class FileStatusPersistenceService { @Transactional public void setExcludedPages(String fileId, Set excludedPages) { fileRepository.findById(fileId).ifPresentOrElse((file) -> { - if (file.isDeleted()) { + if (file.isSoftOrHardDeleted()) { return; } @@ -198,7 +198,7 @@ public class FileStatusPersistenceService { public List getActiveFiles(String dossierId) { - return fileRepository.findByDossierId(dossierId).stream().filter(f -> !f.isDeleted()).collect(Collectors.toList()); + return fileRepository.findByDossierId(dossierId).stream().filter(f -> !f.isSoftOrHardDeleted()).collect(Collectors.toList()); } @@ -218,7 +218,7 @@ public class FileStatusPersistenceService { public void softDelete(String fileId, OffsetDateTime softDeletedTime) { int countUpdate = fileRepository.setSoftDelete(fileId, ProcessingStatus.DELETED, - OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), softDeletedTime); + OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), softDeletedTime.truncatedTo(ChronoUnit.MILLIS)); if (countUpdate == 0) { throw new NotFoundException("Unknown file=" + fileId); } @@ -319,7 +319,7 @@ public class FileStatusPersistenceService { private boolean isFileDeleted(String fileId) { - return fileRepository.findById(fileId).map(FileEntity::isDeleted).orElse(false); + return fileRepository.findById(fileId).map(FileEntity::isSoftOrHardDeleted).orElse(false); } public boolean hasChangesSince(String dossierId, OffsetDateTime since) { 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 107e73640..5d929303e 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 @@ -10,7 +10,6 @@ import org.springframework.data.jpa.repository.Query; import java.time.OffsetDateTime; import java.util.List; -import java.util.Set; public interface FileRepository extends JpaRepository { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java index def822578..485c2c4bb 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java @@ -28,7 +28,9 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.transaction.Transactional; import java.time.OffsetDateTime; +import java.time.temporal.ChronoUnit; import java.util.Set; import static com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException.DOSSIER_NOT_FOUND_MESSAGE; @@ -52,6 +54,7 @@ public class UploadController implements UploadResource { @Override + @Transactional public void deleteFile(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId) { var dossier = dossierService.getDossierById(dossierId); @@ -59,7 +62,7 @@ public class UploadController implements UploadResource { throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId)); } - OffsetDateTime softDeleteTime = OffsetDateTime.now(); + OffsetDateTime softDeleteTime = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS); fileService.softDeleteFile(dossierId, fileId, softDeleteTime); fileStatusService.setFileStatusDeleted(fileId, softDeleteTime); }