From f2b92de827c5b98197061452e731bb5c332f4be6 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Sat, 5 Aug 2023 10:20:05 +0200 Subject: [PATCH] DM-165: Fixed indexOutOfBounds error in TableNodeFactory --- .../processor/services/factory/TableNodeFactory.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/TableNodeFactory.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/TableNodeFactory.java index 83cf13a..c00edd1 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/TableNodeFactory.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/services/factory/TableNodeFactory.java @@ -32,7 +32,12 @@ public class TableNodeFactory { setPageNumberInCells(tablesToMerge); Set pages = tablesToMerge.stream().map(AbstractPageBlock::getPage).map(context::getPage).collect(Collectors.toSet()); List> mergedRows = tablesToMerge.stream().map(TablePageBlock::getRows).flatMap(Collection::stream).toList(); - Table table = Table.builder().documentTree(context.getDocumentTree()).numberOfCols(mergedRows.get(0).size()).numberOfRows(mergedRows.size()).build(); + + Table table = Table.builder() + .documentTree(context.getDocumentTree()) + .numberOfCols(mergedRows.isEmpty() ? 0 : mergedRows.get(0).size()) + .numberOfRows(mergedRows.size()) + .build(); pages.forEach(page -> addTableToPage(page, parentNode, table));