From e193cc67d53bb0272d95abd51f8a334a02cd259e Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Thu, 4 May 2023 00:08:21 +0200 Subject: [PATCH] RED-6009 - Document Tree Structure * added logging for performance --- .../service/analyze/AnalyzeService.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/analyze/AnalyzeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/analyze/AnalyzeService.java index 1684392d..d34c11a6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/analyze/AnalyzeService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/analyze/AnalyzeService.java @@ -24,6 +24,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlo import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.RedactionLogLegalBasis; import com.iqser.red.service.redaction.v1.model.StructureAnalyzeRequest; import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; +import com.iqser.red.service.redaction.v1.server.client.model.NerEntitiesModel; import com.iqser.red.service.redaction.v1.server.exception.RedactionException; import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.adapter.ImageServiceResponseAdapter; import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.model.Document; @@ -32,6 +33,7 @@ import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.mo import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.model.text.SimplifiedSectionText; import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.model.text.SimplifiedText; import com.iqser.red.service.redaction.v1.server.layoutparsing.classification.service.PdfSegmentationService; +import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.DocumentData; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.mapper.DocumentDataMapper; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.data.mapper.DocumentGraphMapper; import com.iqser.red.service.redaction.v1.server.layoutparsing.document.factory.DocumentGraphFactory; @@ -138,9 +140,13 @@ public class AnalyzeService { public AnalyzeResult reanalyze(@RequestBody AnalyzeRequest analyzeRequest) { long startTime = System.currentTimeMillis(); - + log.info("Start reanalysis for request: {}", analyzeRequest); RedactionLog redactionLog = redactionStorageService.getRedactionLog(analyzeRequest.getDossierId(), analyzeRequest.getFileId()); - DocumentGraph documentGraph = DocumentGraphMapper.toDocumentGraph(redactionStorageService.getDocumentData(analyzeRequest.getDossierId(), analyzeRequest.getFileId())); + log.info("loaded previous redaction log"); + DocumentData documentData = redactionStorageService.getDocumentData(analyzeRequest.getDossierId(), analyzeRequest.getFileId()); + log.info("loaded document data"); + DocumentGraph documentGraph = DocumentGraphMapper.toDocumentGraph(documentData); + log.info("constructed graph"); // not yet ready for reanalysis if (redactionLog == null || documentGraph == null || documentGraph.getNumberOfPages() == 0) { @@ -150,6 +156,7 @@ public class AnalyzeService { DictionaryIncrement dictionaryIncrement = dictionaryService.getDictionaryIncrements(analyzeRequest.getDossierTemplateId(), new DictionaryVersion(redactionLog.getDictionaryVersion(), redactionLog.getDossierDictionaryVersion()), analyzeRequest.getDossierId()); + log.info("dictionary increment loaded {}", dictionaryIncrement); Set sectionsToReanalyseIds = getSectionsToReanalyseIds(analyzeRequest, redactionLog, documentGraph, dictionaryIncrement); List sectionsToReAnalyse = getSectionsToReAnalyse(documentGraph, sectionsToReanalyseIds); @@ -204,8 +211,9 @@ public class AnalyzeService { NerEntities nerEntities; if (redactionServiceSettings.isNerServiceEnabled()) { - nerEntities = new NerEntities(nerEntitiesAdapter.getValidatedEntities(redactionStorageService.getNerEntities(analyzeRequest.getDossierId(), analyzeRequest.getFileId()), - documentGraph)); + NerEntitiesModel nerEntitiesModel = redactionStorageService.getNerEntities(analyzeRequest.getDossierId(), analyzeRequest.getFileId()); + log.info("Get NerEntitiesModel"); + nerEntities = new NerEntities(nerEntitiesAdapter.getValidatedEntities(nerEntitiesModel, documentGraph)); } else { nerEntities = new NerEntities(Collections.emptyList()); }