From 15dee5c876111f7a90aa768067a95223a9e5e8bb Mon Sep 17 00:00:00 2001 From: deiflaender Date: Tue, 22 Feb 2022 11:24:01 +0100 Subject: [PATCH] RED-3397: Added endpoint to convert texthighlights --- .../service/v1/api/resources/ReanalysisResource.java | 6 ++++++ .../v1/server/controller/ReanalysisController.java | 11 +++++++++++ persistence-service-v1/pom.xml | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReanalysisResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReanalysisResource.java index a0edd9f9e..ea44be6d0 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReanalysisResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReanalysisResource.java @@ -7,12 +7,15 @@ import org.springframework.web.bind.annotation.*; import java.util.Set; import com.iqser.red.service.pdftron.redaction.v1.api.model.DocumentRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.TextHighlightRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.TextHighlightResponse; @ResponseStatus(value = HttpStatus.NO_CONTENT) public interface ReanalysisResource { String REANALYZE_PATH = "/reanalyze"; String IMPORT_REDACTIONS_PATH = "/import-redactions"; + String TEXT_HIGHLIGHT_CONVERSION_PATH = "/texthighlights-conversion"; String OCR_REANALYZE_PATH = "/ocr/reanalyze"; String REINDEX_PATH = "/reindex"; String DOSSIER_ID_PARAM = "dossierId"; @@ -53,4 +56,7 @@ public interface ReanalysisResource { @PostMapping(value = IMPORT_REDACTIONS_PATH, consumes = MediaType.APPLICATION_JSON_VALUE) void importRedactions(@RequestBody DocumentRequest documentRequest); + @PostMapping(value = TEXT_HIGHLIGHT_CONVERSION_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + TextHighlightResponse processTextHighlights(@RequestBody TextHighlightRequest textHighlightRequest); + } 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 a2f73ba3b..27841437d 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 @@ -2,6 +2,9 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.google.common.collect.Sets; import com.iqser.red.service.pdftron.redaction.v1.api.model.DocumentRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.TextHighlightOperation; +import com.iqser.red.service.pdftron.redaction.v1.api.model.TextHighlightRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.TextHighlightResponse; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; import com.iqser.red.service.peristence.v1.server.service.IndexingService; import com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService; @@ -86,6 +89,14 @@ public class ReanalysisController implements ReanalysisResource { fileStatusService.setStatusFullReprocess(documentRequest.getDossierId(), documentRequest.getFileId(), 1); } + public TextHighlightResponse processTextHighlights(@RequestBody TextHighlightRequest textHighlightRequest){ + var textHighlightResponse = pDFTronRedactionClient.processTextHighlights(textHighlightRequest); + if(textHighlightRequest.getOperation().equals(TextHighlightOperation.CONVERT)){ + fileStatusService.setStatusFullReprocess(textHighlightRequest.getDossierId(), textHighlightRequest.getFileId(), 1); + } + return textHighlightResponse; + } + public void ocrFile(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID_PARAM) String fileId, @RequestParam(value = "force", required = false, defaultValue = FALSE) boolean force) { diff --git a/persistence-service-v1/pom.xml b/persistence-service-v1/pom.xml index 14f678455..a51ff188c 100755 --- a/persistence-service-v1/pom.xml +++ b/persistence-service-v1/pom.xml @@ -27,7 +27,7 @@ 3.76.0 2.18.0 - 3.40.0 + 3.42.0 3.19.0