diff --git a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/data/DocumentStructureWrapper.java b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/data/DocumentStructureWrapper.java index 0718153f..f6c91d4a 100644 --- a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/data/DocumentStructureWrapper.java +++ b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/data/DocumentStructureWrapper.java @@ -92,10 +92,7 @@ public class DocumentStructureWrapper implements Serializable { public Stream streamAllEntries() { - return Stream.concat(Stream.of(documentStructure.getRoot()), - documentStructure.getRoot().getChildrenList() - .stream()) - .flatMap(DocumentStructureWrapper::flatten); + return flatten(documentStructure.getRoot()); } diff --git a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/DocumentDataMapper.java b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/DocumentDataMapper.java index a1996fd9..6255a6b4 100644 --- a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/DocumentDataMapper.java +++ b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/DocumentDataMapper.java @@ -7,7 +7,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; import com.iqser.red.service.redaction.v1.server.data.DocumentData; import com.iqser.red.service.redaction.v1.server.data.DocumentPageProto.AllDocumentPages; @@ -59,10 +58,6 @@ public class DocumentDataMapper { AllDocumentPositionData allDocumentPositionData = AllDocumentPositionData.newBuilder().addAllDocumentPositionData(atomicPositionBlockData).build(); - Set nonEmptyTextBlocks = documentTextData.stream() - .mapToLong(DocumentTextData::getId).boxed() - .collect(Collectors.toSet()); - List documentPageData = document.getPages() .stream() .map(DocumentDataMapper::toPageData) diff --git a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/PropertiesMapper.java b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/PropertiesMapper.java index ca435554..a5b987e9 100644 --- a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/PropertiesMapper.java +++ b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/mapper/PropertiesMapper.java @@ -24,7 +24,7 @@ public class PropertiesMapper { public static Map buildImageProperties(Image image) { Map properties = new HashMap<>(); - properties.put(DocumentStructureWrapper.ImageProperties.IMAGE_TYPE, image.getImageType().toString()); + properties.put(DocumentStructureWrapper.ImageProperties.IMAGE_TYPE, image.getImageType().name()); properties.put(DocumentStructureWrapper.ImageProperties.TRANSPARENT, String.valueOf(image.isTransparent())); properties.put(DocumentStructureWrapper.ImageProperties.POSITION, toString(image.getPosition())); properties.put(DocumentStructureWrapper.ImageProperties.ID, image.getId()); @@ -118,13 +118,11 @@ public class PropertiesMapper { private static ImageType parseImageType(String imageType) { - return switch (imageType) { - case "LOGO" -> ImageType.LOGO; - case "FORMULA" -> ImageType.FORMULA; - case "SIGNATURE" -> ImageType.SIGNATURE; - case "OCR" -> ImageType.OCR; - default -> ImageType.OTHER; - }; + try { + return ImageType.valueOf(imageType.toUpperCase(Locale.ROOT)); + } catch (IllegalArgumentException e) { + return ImageType.OTHER; + } } diff --git a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java index 7567f490..dc8c9276 100644 --- a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java +++ b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java @@ -111,7 +111,7 @@ public class Image extends AbstractSemanticNode implements IEntity { @Override public String toString() { - return getTreeId() + ": " + getValue() + " " + position; + return getTreeId() + ": " + getValue() + " [%.2f,%.2f,%.2f,%.2f]".formatted(position.getX(), position.getY(), position.getWidth(), position.getHeight()); } @@ -169,4 +169,11 @@ public class Image extends AbstractSemanticNode implements IEntity { visitor.visit(this); } + + @Override + public boolean isLeaf() { + + return true; + } + } diff --git a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContents.java b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContents.java index 30c11753..0fd0df03 100644 --- a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContents.java +++ b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContents.java @@ -37,4 +37,11 @@ public class TableOfContents extends AbstractSemanticNode { visitor.visit(this); } + + @Override + public String toString() { + + return getTreeId() + ": " + NodeType.TABLE_OF_CONTENTS_ITEM + ": " + getTextBlock().buildSummary(); + } + } diff --git a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContentsItem.java b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContentsItem.java index e8e5d432..3a974585 100644 --- a/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContentsItem.java +++ b/redaction-service-v1/document/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/TableOfContentsItem.java @@ -47,4 +47,11 @@ public class TableOfContentsItem extends AbstractSemanticNode { return leafTextBlock; } + + @Override + public String toString() { + + return getTreeId() + ": " + NodeType.TABLE_OF_CONTENTS_ITEM + ": " + leafTextBlock.buildSummary(); + } + }