From 3287e71ce896193eaf2bba8e6da9bf1827587ab3 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 1 Aug 2021 11:17:17 +0100 Subject: Extract RawText class --- .../internal/InternalDocumentConverter.java | 37 +++------------------- 1 file changed, 5 insertions(+), 32 deletions(-) (limited to 'src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java') diff --git a/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java b/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java index 2c108f2..8ff1e95 100644 --- a/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/internal/InternalDocumentConverter.java @@ -1,15 +1,12 @@ package org.zwobble.mammoth.internal; -import org.zwobble.mammoth.internal.conversion.DocumentToHtml; -import org.zwobble.mammoth.internal.conversion.DocumentToHtmlOptions; -import org.zwobble.mammoth.internal.documents.DocumentElement; -import org.zwobble.mammoth.internal.documents.HasChildren; -import org.zwobble.mammoth.internal.documents.Paragraph; -import org.zwobble.mammoth.internal.documents.Text; import org.zwobble.mammoth.internal.archives.Archive; -import org.zwobble.mammoth.internal.docx.EmbeddedStyleMap; import org.zwobble.mammoth.internal.archives.InMemoryArchive; import org.zwobble.mammoth.internal.archives.ZippedArchive; +import org.zwobble.mammoth.internal.conversion.DocumentToHtml; +import org.zwobble.mammoth.internal.conversion.DocumentToHtmlOptions; +import org.zwobble.mammoth.internal.conversion.RawText; +import org.zwobble.mammoth.internal.docx.EmbeddedStyleMap; import org.zwobble.mammoth.internal.html.Html; import org.zwobble.mammoth.internal.results.InternalResult; import org.zwobble.mammoth.internal.styles.StyleMap; @@ -20,14 +17,10 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.file.Path; -import java.util.List; import java.util.Optional; import java.util.function.Function; import static org.zwobble.mammoth.internal.docx.DocumentReader.readDocument; -import static org.zwobble.mammoth.internal.util.Casts.tryCast; -import static org.zwobble.mammoth.internal.util.Iterables.lazyMap; -import static org.zwobble.mammoth.internal.util.Lists.list; public class InternalDocumentConverter { private final DocumentToHtmlOptions options; @@ -77,7 +70,7 @@ public class InternalDocumentConverter { private InternalResult extractRawText(Optional path, Archive zipFile) { return readDocument(path, zipFile) - .map(InternalDocumentConverter::extractRawTextOfChildren); + .map(RawText::extractRawText); } private static T withDocxFile(File file, Function function) throws IOException { @@ -91,24 +84,4 @@ public class InternalDocumentConverter { return function.apply(zipFile); } } - - private static String extractRawTextOfChildren(HasChildren parent) { - return extractRawText(parent.getChildren()); - } - - private static String extractRawText(List nodes) { - return String.join("", lazyMap(nodes, node -> extractRawText(node))); - } - - private static String extractRawText(DocumentElement node) { - return tryCast(Text.class, node) - .map(Text::getValue) - .orElseGet(() -> { - List children = tryCast(HasChildren.class, node) - .map(HasChildren::getChildren) - .orElse(list()); - String suffix = tryCast(Paragraph.class, node).map(paragraph -> "\n\n").orElse(""); - return extractRawText(children) + suffix; - }); - } } -- cgit v1.2.3