From d035e2ecb7470a965449f496d9ea254526dfae62 Mon Sep 17 00:00:00 2001 From: devplant Date: Tue, 3 May 2022 11:44:25 +0300 Subject: [PATCH] RED-3705-Remove DELETED status for dossiers and files and use deleted timestamps instead - remove dependency of ProcessingStatus.DELETED --- .../dossiertemplate/dossier/file/FileModel.java | 2 +- .../v1/processor/entity/dossier/FileEntity.java | 2 +- .../controller/FileAttributesController.java | 2 +- .../server/controller/FileStatusController.java | 4 ++-- .../server/controller/ReanalysisController.java | 4 ++-- .../v1/server/service/IndexingService.java | 2 +- .../integration/tests/FileProcessingTest.java | 15 +++++++++------ 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java index 35ab36007..c7a3d6199 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java @@ -69,6 +69,6 @@ public class FileModel { } public boolean isSoftOrHardDeleted() { - return deleted != null || hardDeletedTime != null || ProcessingStatus.DELETED.equals(processingStatus); + return deleted != null || hardDeletedTime != null; } } 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 3bd1ee7be..03ca040e8 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 @@ -171,7 +171,7 @@ public class FileEntity { } public boolean isSoftOrHardDeleted() { - return deleted != null || hardDeletedTime != null || ProcessingStatus.DELETED.equals(processingStatus); + return deleted != null || hardDeletedTime != null; } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java index e80ad6743..a2c78a281 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java @@ -63,7 +63,7 @@ public class FileAttributesController implements FileAttributesResource { Map fileStatusByFilename = fileStatusService.getDossierStatus(dossierId) .stream() - .filter(f -> !f.getProcessingStatus().equals(ProcessingStatus.DELETED)) + .filter(f -> !f.isSoftOrHardDeleted()) .collect(Collectors.toMap(FileModel::getFilename, Function.identity())); List> rows = getCsvRecords(importCsvRequest.getCsvFile(), generalConfiguration.getDelimiter()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java index 8f76c6ada..4511114e8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java @@ -44,14 +44,14 @@ public class FileStatusController implements StatusResource { public List getDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { return fileStatusService.getDossierStatus(dossierId).stream() - .filter(f -> !f.getProcessingStatus().equals(ProcessingStatus.DELETED)) + .filter(f -> !f.isSoftOrHardDeleted()) .collect(Collectors.toList()); } @Override public List getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { return fileStatusService.getDossierStatus(dossierId).stream() - .filter(f3 -> f3.getProcessingStatus().equals(ProcessingStatus.DELETED) && f3.getHardDeletedTime() == null) + .filter(f3 -> f3.getDeleted() != null && f3.getHardDeletedTime() == null) .sorted((f11, f21) -> f21.getDeleted().compareTo(f11.getDeleted())).collect(Collectors.toList()); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java index fc62883af..a4eb48c2b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java @@ -101,7 +101,7 @@ public class ReanalysisController implements ReanalysisResource { fileStatusService.setStatusOcrProcessing(dossierId, fileId); } else { FileModel dossierFile = fileStatusService.getStatus(fileId); - if (dossierFile.getProcessingStatus().equals(ProcessingStatus.DELETED) || dossierFile.getWorkflowStatus() + if (dossierFile.isSoftOrHardDeleted() || dossierFile.getWorkflowStatus() .equals(WorkflowStatus.APPROVED)) { throw new ConflictException("Cannot analyse a deleted/approved file"); } @@ -173,7 +173,7 @@ public class ReanalysisController implements ReanalysisResource { if (filterOnlyValidFiles) { return fileStatusService.getDossierStatus(dossier.getId()) .stream() - .filter(fileStatus -> !fileStatus.getProcessingStatus().equals(ProcessingStatus.DELETED)) + .filter(fileStatus -> !fileStatus.isSoftOrHardDeleted()) .filter(fileStatus -> !fileStatus.getWorkflowStatus().equals(WorkflowStatus.APPROVED)) .collect(Collectors.toList()); } else { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java index 02a0f0b99..6dd9b3b88 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java @@ -54,7 +54,7 @@ public class IndexingService { for (Pair reindexDossierId : reindexDossierIds) { List fileStatuses = fileStatusPersistenceService.getStatusesForDossier(reindexDossierId.getRight()); for (FileEntity fileStatus : fileStatuses) { - if (fileStatus.getProcessingStatus().equals(ProcessingStatus.DELETED)) { + if (fileStatus.isSoftOrHardDeleted()) { continue; } if (fileIds != null && !fileIds.isEmpty() && !fileIds.contains(fileStatus.getId())) { diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java index 72a46965c..b0a7a3b28 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java @@ -114,24 +114,28 @@ public class FileProcessingTest extends AbstractPersistenceServerServiceTest { // Delete file uploadClient.deleteFile(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); - assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); +// assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); assertThat(loadedFile.getDeleted()).isNotNull(); fileProcessingClient.ocrSuccessful(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); - assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); +// assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); + assertThat(loadedFile.getDeleted()).isNotNull(); fileProcessingClient.indexing(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); - assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); +// assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); + assertThat(loadedFile.getDeleted()).isNotNull(); fileProcessingClient.indexingFailed(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); - assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); +// assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); + assertThat(loadedFile.getDeleted()).isNotNull(); fileProcessingClient.indexingSuccessful(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); - assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); +// assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); + assertThat(loadedFile.getDeleted()).isNotNull(); } @@ -182,7 +186,6 @@ public class FileProcessingTest extends AbstractPersistenceServerServiceTest { // Delete file uploadClient.deleteFile(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); - assertThat(loadedFile.getProcessingStatus()).isEqualTo(ProcessingStatus.DELETED); assertThat(loadedFile.getDeleted()).isNotNull(); var fileList = fileClient.getSoftDeletedForDossierList(List.of(dossier.getId()));