From f4d789311c9280ae2e3debb2f5b77c93b08f91f3 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Mon, 26 Feb 2024 12:24:15 +0100 Subject: [PATCH] hotfix: double viewerdoc writes in rare cases lead to some contentstreams not being written --- .../processor/LayoutParsingPipeline.java | 2 -- .../visualization/LayoutGridService.java | 21 +++++++++---------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/LayoutParsingPipeline.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/LayoutParsingPipeline.java index 772f2f4..b3cdb6b 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/LayoutParsingPipeline.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/LayoutParsingPipeline.java @@ -136,8 +136,6 @@ public class LayoutParsingPipeline { layoutGridService.addLayoutGrid(viewerDocumentFile, documentGraph, viewerDocumentFile, false); - layoutGridService.addLayoutGrid(viewerDocumentFile, documentGraph, viewerDocumentFile, false, true); - log.info("Storing resulting files for {}", layoutParsingRequest.identifier()); layoutParsingStorageService.storeDocumentData(layoutParsingRequest, DocumentDataMapper.toDocumentData(documentGraph)); diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/visualization/LayoutGridService.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/visualization/LayoutGridService.java index 36ffaa1..923ca2e 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/visualization/LayoutGridService.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/visualization/LayoutGridService.java @@ -59,30 +59,29 @@ public class LayoutGridService { static Color HEADER_COLOR = new Color(171, 131, 6); static Color IMAGE_COLOR = new Color(253, 63, 146); - static Color IMAGE_VISUAL_COLOR = new Color(122, 0, 255); - @SneakyThrows @Observed(name = "ViewerDocumentService", contextualName = "create-viewer-document") public void addLayoutGrid(File originFile, Document document, File destinationFile, boolean layerVisibilityDefaultValue) { - this.addLayoutGrid(originFile, document, destinationFile, layerVisibilityDefaultValue, false); + Visualizations layoutGrid = this.addLayoutGrid(document, layerVisibilityDefaultValue, false); + Visualizations visualLayoutGrid = this.addLayoutGrid(document, layerVisibilityDefaultValue, true); + + viewerDocumentService.addVisualizationsOnPage(originFile, destinationFile, List.of(layoutGrid, visualLayoutGrid)); } @SneakyThrows @Observed(name = "ViewerDocumentService", contextualName = "create-viewer-document") - public void addLayoutGrid(File originFile, Document document, File destinationFile, boolean layerVisibilityDefaultValue, boolean visualParsingGrid) { + public Visualizations addLayoutGrid(Document document, boolean layerVisibilityDefaultValue, boolean visualParsingGrid) { LayoutGrid layoutGrid = createLayoutGrid(document, visualParsingGrid); - viewerDocumentService.addVisualizationsOnPage(originFile, - destinationFile, - Visualizations.builder() - .layer(visualParsingGrid ? ContentStreams.KNECON_VISUAL_PARSING : ContentStreams.KNECON_LAYOUT) - .visualizationsOnPages(layoutGrid.getVisualizationsPerPages()) - .layerVisibilityDefaultValue(layerVisibilityDefaultValue) - .build()); + return Visualizations.builder() + .layer(visualParsingGrid ? ContentStreams.KNECON_VISUAL_PARSING : ContentStreams.KNECON_LAYOUT) + .visualizationsOnPages(layoutGrid.getVisualizationsPerPages()) + .layerVisibilityDefaultValue(layerVisibilityDefaultValue) + .build(); }