From e2d3972e1620220229994b4e384720d4bd40960f Mon Sep 17 00:00:00 2001 From: Thomas Beyer Date: Fri, 28 Apr 2023 12:19:14 +0200 Subject: [PATCH] RED-6619 - moved not the logic to a boolean, but the 1 into a constant --- .../redaction/v1/server/tableextraction/model/Cell.java | 8 ++++++-- .../redaction/v1/server/tableextraction/model/Table.java | 2 +- .../tableextraction/service/TableExtractionService.java | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Cell.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Cell.java index d459ba8c..c75b23a1 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Cell.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Cell.java @@ -6,6 +6,7 @@ import com.iqser.red.service.redaction.v1.server.redaction.utils.TextNormalizati import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Getter; import lombok.NoArgsConstructor; import java.awt.geom.Point2D; @@ -25,11 +26,10 @@ public class Cell extends Rectangle { private boolean isHeaderCell; - private boolean minimumSize; + private static final int MIN_SIZE = 1; public Cell(Point2D topLeft, Point2D bottomRight) { super((float) topLeft.getY(), (float) topLeft.getX(), (float) (bottomRight.getX() - topLeft.getX()), (float) (bottomRight.getY() - topLeft.getY())); - this.minimumSize = (float) (bottomRight.getX() - topLeft.getX()) >= 1 && (float) (bottomRight.getY() - topLeft.getY()) >= 1; } @@ -67,4 +67,8 @@ public class Cell extends Rectangle { return TextNormalizationUtilities.removeHyphenLineBreaks(sb.toString()).replaceAll("\n", " ").replaceAll(" {2}", " "); } + public boolean hasMinimumSize() { + + return this.getHeight() >= MIN_SIZE && this.getWidth() >= MIN_SIZE; + } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Table.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Table.java index f60287f6..d5759bf6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Table.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/model/Table.java @@ -261,7 +261,7 @@ public class Table extends AbstractTextContainer { if (intersectionCell.isPresent()) { cell.getTextBlocks().addAll(intersectionCell.get().getTextBlocks()); } - if (cell.isMinimumSize()) { + if (cell.hasMinimumSize()) { row.add(cell); } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/service/TableExtractionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/service/TableExtractionService.java index 8cc017c4..6d29d260 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/service/TableExtractionService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/tableextraction/service/TableExtractionService.java @@ -88,7 +88,7 @@ public class TableExtractionService { for (AbstractTextContainer abstractTextContainer : page.getTextBlocks()) { TextBlock textBlock = (TextBlock) abstractTextContainer; for (Cell cell : cells) { - if (cell.isMinimumSize() && cell.intersects(textBlock.getPdfMinX(), + if (cell.hasMinimumSize() && cell.intersects(textBlock.getPdfMinX(), textBlock.getPdfMinY(), textBlock.getPdfMaxX() - textBlock.getPdfMinX(), textBlock.getPdfMaxY() - textBlock.getPdfMinY())) { @@ -109,7 +109,7 @@ public class TableExtractionService { List overlappingCells = new ArrayList<>(); for (Cell c : cells) { - if (c.isMinimumSize() && c.intersects(area)) { + if (c.hasMinimumSize() && c.intersects(area)) { overlappingCells.add(c); } }