From 3a22964b8d436280d7e79d48910d27d28de4800d Mon Sep 17 00:00:00 2001 From: deiflaender Date: Fri, 28 Jan 2022 11:32:40 +0100 Subject: [PATCH] RED-3243: Added new delta preview download file type --- .../model/dossiertemplate/DownloadFileType.java | 2 +- .../download/DownloadPreparationService.java | 15 +++++++++++++++ persistence-service-v1/pom.xml | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java index 77d083f4d..dd69bcd37 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java @@ -1,5 +1,5 @@ package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; public enum DownloadFileType { - ORIGINAL, PREVIEW, REDACTED, ANNOTATED, FLATTEN + ORIGINAL, PREVIEW, REDACTED, ANNOTATED, FLATTEN, DELTA_PREVIEW } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java index 7e4e53a61..6f12faad5 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java @@ -95,6 +95,10 @@ public class DownloadPreparationService { fileSystemBackedArchiver.addEntry(new FileSystemBackedArchiver.ArchiveModel("Preview", addSuffix(fileStatus.getFilename(), "highlighted"), getPreview(original, redactionLog, dossier.getDossierTemplateId(), dossier.isWatermarkPreviewEnabled()))); } + if (downloadFileType.name().equals(DownloadFileType.DELTA_PREVIEW.name())) { + fileSystemBackedArchiver.addEntry(new FileSystemBackedArchiver.ArchiveModel("Delta Preview", addSuffix(fileStatus.getFilename(), "delta_highlighted"), + getDeltaPreview(original, redactionLog, dossier.getDossierTemplateId(), dossier.isWatermarkPreviewEnabled()))); + } if (downloadFileType.name().equals(DownloadFileType.REDACTED.name())) { fileSystemBackedArchiver.addEntry(new FileSystemBackedArchiver.ArchiveModel("Redacted", addSuffix(fileStatus.getFilename(), "redacted"), getRedacted(original, redactionLog, dossier.getDossierTemplateId(), dossier.isWatermarkEnabled()))); @@ -207,6 +211,17 @@ public class DownloadPreparationService { } + private byte[] getDeltaPreview(byte[] original, RedactionLog redactionLog, String dossierTemplateId, boolean watermarkEnabled) { + + return pdfTronRedactionClient.redactionPreviewDiff(PdfTronRedactionRequest.builder() + .document(original) + .dossierTemplateId(dossierTemplateId) + .redactionLog(redactionLog) + .applyWatermark(watermarkEnabled) + .build()).getDocument(); + } + + private RedactionLog getRedactionLog(String dossierId, String fileId, boolean isExcluded) { if (isExcluded) { diff --git a/persistence-service-v1/pom.xml b/persistence-service-v1/pom.xml index bf30c7652..c06764f28 100755 --- a/persistence-service-v1/pom.xml +++ b/persistence-service-v1/pom.xml @@ -27,7 +27,7 @@ 3.68.0 2.18.0 - 3.28.0 + 3.30.0 3.19.0