From 7ecf37adc3faff67781bdf46e624b54a35da9a54 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 20 Feb 2016 15:23:54 +0000 Subject: Return result from document conversion --- src/main/java/org/zwobble/mammoth/DocumentConverter.java | 16 ++++++++++++---- src/main/java/org/zwobble/mammoth/Mammoth.java | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index d04d012..294e403 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -7,6 +7,8 @@ import com.google.common.io.ByteStreams; import org.zwobble.mammoth.documents.*; import org.zwobble.mammoth.html.Html; import org.zwobble.mammoth.html.HtmlNode; +import org.zwobble.mammoth.results.Result; +import org.zwobble.mammoth.results.Warning; import org.zwobble.mammoth.styles.StyleMap; import org.zwobble.mammoth.util.MammothLists; @@ -20,9 +22,11 @@ import static org.zwobble.mammoth.util.MammothLists.*; import static org.zwobble.mammoth.util.MammothMaps.map; public class DocumentConverter { - public static List convertToHtml(String idPrefix, boolean preserveEmptyParagraphs, StyleMap styleMap, Document document) { + public static Result> convertToHtml(String idPrefix, boolean preserveEmptyParagraphs, StyleMap styleMap, Document document) { DocumentConverter documentConverter = new DocumentConverter(idPrefix, preserveEmptyParagraphs, styleMap); - return documentConverter.convertToHtml(document); + return new Result<>( + documentConverter.convertToHtml(document), + documentConverter.warnings.build()); } private static List findNotes(Document document, Iterable noteReferences) { @@ -32,14 +36,18 @@ public class DocumentConverter { reference -> document.getNotes().findNote(reference.getNoteType(), reference.getNoteId()).get())); } - public static List convertToHtml(String idPrefix, boolean preserveEmptyParagraphs, StyleMap styleMap, DocumentElement element) { - return new DocumentConverter(idPrefix, preserveEmptyParagraphs, styleMap).convertToHtml(element); + public static Result> convertToHtml(String idPrefix, boolean preserveEmptyParagraphs, StyleMap styleMap, DocumentElement element) { + DocumentConverter documentConverter = new DocumentConverter(idPrefix, preserveEmptyParagraphs, styleMap); + return new Result<>( + documentConverter.convertToHtml(element), + documentConverter.warnings.build()); } private final String idPrefix; private final boolean preserveEmptyParagraphs; private final StyleMap styleMap; private final List noteReferences = new ArrayList<>(); + private final ImmutableList.Builder warnings = ImmutableList.builder(); private DocumentConverter(String idPrefix, boolean preserveEmptyParagraphs, StyleMap styleMap) { this.idPrefix = idPrefix; diff --git a/src/main/java/org/zwobble/mammoth/Mammoth.java b/src/main/java/org/zwobble/mammoth/Mammoth.java index 6db7308..b6bba55 100644 --- a/src/main/java/org/zwobble/mammoth/Mammoth.java +++ b/src/main/java/org/zwobble/mammoth/Mammoth.java @@ -49,7 +49,7 @@ public class Mammoth { public static Result convertToHtml(File file, Options options) { return withDocxFile(file, zipFile -> readDocument(zipFile) - .map(nodes -> DocumentConverter.convertToHtml(options.idPrefix, options.preserveEmptyParagraphs, StyleMap.EMPTY, nodes)) + .flatMap(nodes -> DocumentConverter.convertToHtml(options.idPrefix, options.preserveEmptyParagraphs, StyleMap.EMPTY, nodes)) .map(Html::stripEmpty) .map(Html::collapse) .map(Html::write)); -- cgit v1.2.3