From 64a8092c65dd2b4dba9bb8e1c8ab0c2dee91843e Mon Sep 17 00:00:00 2001 From: maverickstuder Date: Fri, 6 Sep 2024 16:08:25 +0200 Subject: [PATCH] RED-9849: Counter for re-uploaded files --- .../v1/processor/entity/dossier/FileEntity.java | 2 ++ .../management/v1/processor/service/FileService.java | 1 - .../persistence/FileStatusPersistenceService.java | 1 + .../persistence/repository/FileRepository.java | 2 ++ .../resources/db/changelog/db.changelog-tenant.yaml | 4 +++- .../141-add-overwrite-file-counter-to-file.yaml | 12 ++++++++++++ 6 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/141-add-overwrite-file-counter-to-file.yaml 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 6a2443f6e..efd910639 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 @@ -201,6 +201,8 @@ public class FileEntity { @ElementCollection private List componentMappingVersions; + @Column + private Integer overwriteFileCounter; public OffsetDateTime getLastOCRTime() { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java index 92e3b8c09..844fbdb4b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileService.java @@ -72,7 +72,6 @@ public class FileService { if (existingStatus != null) { // the file is already uploaded, just reanalyse it. - fileStatusService.overwriteFile(request.getDossierId(), request.getFileId(), request.getUploader(), request.getFilename(), keepManualRedactions, disableAutomaticAnalysis); } else { // the file is new, should create a new status for it. 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 154bf67ee..80999360d 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 @@ -66,6 +66,7 @@ public class FileStatusPersistenceService { file.setLastUpdated(now); file.setFileManipulationDate(now); file.setProcessingErrorCounter(0); + file.setOverwriteFileCounter(0); file.setFileSize(size); file.setComponentMappingVersions(new ArrayList<>()); file.setExcludedFromAutomaticAnalysis(disableAutomaticAnalysis); 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 611f84b84..5f7226582 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 @@ -219,6 +219,7 @@ public interface FileRepository extends JpaRepository { + "f.hasHints = false, f.hasRedactions = false, f.hasSuggestions = false, f.hasUpdates = false, " + "f.deleted = null, f.hardDeletedTime = null, f.hasHighlights = false, " + "f.processingErrorCounter = 0, f.errorCause = null, f.errorQueue = null, f.errorService = null, " + + "f.overwriteFileCounter = coalesce(f.overwriteFileCounter, 0) + 1, " + "f.errorTimestamp = null where f.id = :fileId") int overwriteFile(@Param("fileId") String fileId, @Param("filename") String filename, @@ -238,6 +239,7 @@ public interface FileRepository extends JpaRepository { + "f.dictionaryVersion = 0, f.dossierDictionaryVersion = 0, f.rulesVersion = 0, f.hasImages = false, " + "f.hasHints = false, f.hasRedactions = false, f.hasSuggestions = false, f.hasUpdates = false, " + "f.deleted = null, f.hardDeletedTime = null, f.hasHighlights = false, f.processingErrorCounter = 0, " + + "f.overwriteFileCounter = coalesce(f.overwriteFileCounter, 0) + 1, " + "f.ocrStartTime = null, f.ocrEndTime = null, f.numberOfPagesToOCR = null, f.numberOfOCRedPages = null, " + "f.errorCause = null, f.errorQueue = null, f.errorService = null, f.errorTimestamp = null " + "where f.id = :fileId") diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml index 0ba11f760..ab19827f9 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml @@ -214,4 +214,6 @@ databaseChangeLog: - include: file: db/changelog/tenant/129-add-component-table.yaml - include: - file: db/changelog/tenant/131-changed-max-size-for-id-in-entity.yaml \ No newline at end of file + file: db/changelog/tenant/131-changed-max-size-for-id-in-entity.yaml + - include: + file: db/changelog/tenant/141-add-overwrite-file-counter-to-file.yaml \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/141-add-overwrite-file-counter-to-file.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/141-add-overwrite-file-counter-to-file.yaml new file mode 100644 index 000000000..868433ae5 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/141-add-overwrite-file-counter-to-file.yaml @@ -0,0 +1,12 @@ +databaseChangeLog: + - changeSet: + id: add-overwrite-file-counter-to-file + author: maverick + changes: + - addColumn: + columns: + - column: + name: overwrite_file_counter + type: INTEGER + defaultValue: '0' + tableName: file