From ed5686dc51f57c9e772ccc3c0ef2a8955e7f3e73 Mon Sep 17 00:00:00 2001 From: Timo Date: Sat, 17 Apr 2021 09:55:46 +0300 Subject: [PATCH] Re-worked cache issues --- .../v1/server/controller/RedactionController.java | 4 +--- .../server/segmentation/PdfSegmentationService.java | 12 ++++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java index 63d27c59..250001a7 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java @@ -59,9 +59,7 @@ public class RedactionController implements RedactionResource { try (PDDocument pdDocument = PDDocument.load(storedObjectStream, MemoryUsageSetting.setupTempFileOnly())) { pdDocument.setAllSecurityToBeRemoved(true); - pdDocument.setResourceCache(null); - - pdDocument.setAllSecurityToBeRemoved(true); + dictionaryService.updateDictionary(redactionLog.getRuleSetId()); annotationService.annotate(pdDocument, redactionLog, sectionsGrid); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java index 0ab2ceaa..1e88a7c4 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/segmentation/PdfSegmentationService.java @@ -1,6 +1,5 @@ package com.iqser.red.service.redaction.v1.server.segmentation; -import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.redaction.v1.model.SectionArea; import com.iqser.red.service.redaction.v1.server.classification.model.Document; import com.iqser.red.service.redaction.v1.server.classification.model.Page; @@ -44,7 +43,7 @@ import java.util.Map; @RequiredArgsConstructor public class PdfSegmentationService { - private final static int MAX_PAGES_BEFORE_GC = 200; + private final static int MAX_PAGES_BEFORE_GC = 250; private final RulingCleaningService rulingCleaningService; private final TableExtractionService tableExtractionService; @@ -52,7 +51,6 @@ public class PdfSegmentationService { private final ClassificationService classificationService; private final SectionsBuilderService sectionsBuilderService; private final ImageClassificationService imageClassificationService; - private final ObjectMapper objectMapper; private void postProcessSections(PDDocument pdDocument, List texts) { @@ -137,7 +135,7 @@ public class PdfSegmentationService { // initialize required variables Document document = new Document(); List pages = new ArrayList<>(); - PDFLinesTextStripper stripper = new PDFLinesTextStripper(); + PDDocument pdDocument = reinitializePDDocument(tempFile, null); long pageCount = pdDocument.getNumberOfPages(); @@ -148,7 +146,7 @@ public class PdfSegmentationService { pdDocument = reinitializePDDocument(tempFile, pdDocument); } - + PDFLinesTextStripper stripper = new PDFLinesTextStripper(); PDPage pdPage = pdDocument.getPage(pageNumber - 1); stripper.setPageNumber(pageNumber); stripper.setStartPage(pageNumber); @@ -183,6 +181,8 @@ public class PdfSegmentationService { imageClassificationService.classifyImages(page); pages.add(page); + + } document.setPages(pages); @@ -213,7 +213,7 @@ public class PdfSegmentationService { MemoryStats.printMemoryStats(); var newPDDocument = PDDocument.load(tempFile, MemoryUsageSetting.setupTempFileOnly()); - newPDDocument.setResourceCache(null); + newPDDocument.setAllSecurityToBeRemoved(true); return newPDDocument; }