From 86207d30715fe000b95b2f8e8b55b59a21aba34b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 24 Feb 2016 21:03:42 +0000 Subject: Turn Result into a minimal interface --- .../org/zwobble/mammoth/DocumentConverter.java | 4 +- src/main/java/org/zwobble/mammoth/Result.java | 10 ++++ .../zwobble/mammoth/internal/DocumentToHtml.java | 14 ++--- .../mammoth/internal/docx/BodyXmlReader.java | 20 +++---- .../mammoth/internal/docx/DocumentReader.java | 12 ++-- .../mammoth/internal/docx/DocumentXmlReader.java | 4 +- .../mammoth/internal/docx/NotesXmlReader.java | 8 +-- .../zwobble/mammoth/internal/docx/ReadResult.java | 10 ++-- .../mammoth/internal/results/InternalResult.java | 69 ++++++++++++++++++++++ .../zwobble/mammoth/internal/results/Warning.java | 16 +++++ .../java/org/zwobble/mammoth/results/Result.java | 69 ---------------------- .../java/org/zwobble/mammoth/results/Warning.java | 16 ----- .../mammoth/tests/DocumentConverterTests.java | 18 +++--- .../org/zwobble/mammoth/tests/MammothTests.java | 4 +- .../zwobble/mammoth/tests/docx/BodyXmlTests.java | 18 +++--- .../mammoth/tests/docx/DocumentXmlTests.java | 8 +-- .../mammoth/tests/docx/NotesXmlReaderTests.java | 8 +-- 17 files changed, 159 insertions(+), 149 deletions(-) create mode 100644 src/main/java/org/zwobble/mammoth/Result.java create mode 100644 src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java create mode 100644 src/main/java/org/zwobble/mammoth/internal/results/Warning.java delete mode 100644 src/main/java/org/zwobble/mammoth/results/Result.java delete mode 100644 src/main/java/org/zwobble/mammoth/results/Warning.java (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index 31464e7..84f8570 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -14,7 +14,7 @@ import org.zwobble.mammoth.internal.docx.ZippedDocxFile; import org.zwobble.mammoth.internal.html.Html; import org.zwobble.mammoth.internal.styles.DefaultStyles; import org.zwobble.mammoth.internal.util.Casts; -import org.zwobble.mammoth.results.Result; +import org.zwobble.mammoth.internal.results.InternalResult; import java.io.File; import java.io.IOException; @@ -60,7 +60,7 @@ public class DocumentConverter { convertToHtml(Optional.of(file.toPath()), zipFile)); } - private Result convertToHtml(Optional path, DocxFile zipFile) { + private InternalResult convertToHtml(Optional path, DocxFile zipFile) { return readDocument(path, zipFile) .flatMap(nodes -> DocumentToHtml.convertToHtml(nodes, options)) .map(Html::stripEmpty) diff --git a/src/main/java/org/zwobble/mammoth/Result.java b/src/main/java/org/zwobble/mammoth/Result.java new file mode 100644 index 0000000..486d155 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/Result.java @@ -0,0 +1,10 @@ +package org.zwobble.mammoth; + +import org.zwobble.mammoth.internal.results.Warning; + +import java.util.List; + +public interface Result { + T getValue(); + List getWarnings(); +} diff --git a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java index b501800..6c4961a 100644 --- a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java +++ b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java @@ -7,8 +7,8 @@ import com.google.common.io.ByteStreams; import org.zwobble.mammoth.internal.documents.*; import org.zwobble.mammoth.internal.html.Html; import org.zwobble.mammoth.internal.html.HtmlNode; -import org.zwobble.mammoth.results.Result; -import org.zwobble.mammoth.results.Warning; +import org.zwobble.mammoth.internal.results.InternalResult; +import org.zwobble.mammoth.internal.results.Warning; import org.zwobble.mammoth.internal.styles.HtmlPath; import org.zwobble.mammoth.internal.styles.StyleMap; import org.zwobble.mammoth.internal.util.MammothLists; @@ -19,14 +19,14 @@ import java.util.Base64; import java.util.List; import java.util.Map; -import static org.zwobble.mammoth.results.Warning.warning; +import static org.zwobble.mammoth.internal.results.Warning.warning; import static org.zwobble.mammoth.internal.util.MammothLists.*; import static org.zwobble.mammoth.internal.util.MammothMaps.map; public class DocumentToHtml { - public static Result> convertToHtml(Document document, DocumentToHtmlOptions options) { + public static InternalResult> convertToHtml(Document document, DocumentToHtmlOptions options) { DocumentToHtml documentConverter = new DocumentToHtml(options); - return new Result<>( + return new InternalResult<>( documentConverter.convertToHtml(document), documentConverter.warnings.build()); } @@ -38,9 +38,9 @@ public class DocumentToHtml { reference -> document.getNotes().findNote(reference.getNoteType(), reference.getNoteId()).get())); } - public static Result> convertToHtml(DocumentElement element, DocumentToHtmlOptions options) { + public static InternalResult> convertToHtml(DocumentElement element, DocumentToHtmlOptions options) { DocumentToHtml documentConverter = new DocumentToHtml(options); - return new Result<>( + return new InternalResult<>( documentConverter.convertToHtml(element), documentConverter.warnings.build()); } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java index 43a275a..c8aa57e 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java @@ -2,8 +2,8 @@ package org.zwobble.mammoth.internal.docx; import com.google.common.collect.ImmutableSet; import org.zwobble.mammoth.internal.documents.*; -import org.zwobble.mammoth.results.Result; -import org.zwobble.mammoth.results.Warning; +import org.zwobble.mammoth.internal.results.InternalResult; +import org.zwobble.mammoth.internal.results.Warning; import org.zwobble.mammoth.internal.util.InputStreamSupplier; import org.zwobble.mammoth.internal.util.MammothOptionals; import org.zwobble.mammoth.internal.xml.XmlElement; @@ -19,7 +19,7 @@ import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Iterables.transform; import static org.zwobble.mammoth.internal.docx.ReadResult.EMPTY_SUCCESS; import static org.zwobble.mammoth.internal.docx.ReadResult.success; -import static org.zwobble.mammoth.results.Warning.warning; +import static org.zwobble.mammoth.internal.results.Warning.warning; import static org.zwobble.mammoth.internal.util.MammothLists.list; import static org.zwobble.mammoth.internal.util.MammothStrings.trimLeft; @@ -169,7 +169,7 @@ public class BodyXmlReader { } } - private Result> readRunStyle(XmlElementLike properties) { + private InternalResult> readRunStyle(XmlElementLike properties) { return readStyle(properties, "w:rStyle", "Run", styles::findCharacterStyleById); } @@ -189,11 +189,11 @@ public class BodyXmlReader { (style, children) -> new Paragraph(style, numbering, children)).appendExtra(); } - private Result> readParagraphStyle(XmlElementLike properties) { + private InternalResult> readParagraphStyle(XmlElementLike properties) { return readStyle(properties, "w:pStyle", "Paragraph", styles::findParagraphStyleById); } - private Result> readStyle( + private InternalResult> readStyle( XmlElementLike properties, String styleTagName, String styleType, @@ -201,19 +201,19 @@ public class BodyXmlReader { { return readVal(properties, styleTagName) .map(styleId -> findStyleById(styleType, styleId, findStyleById)) - .orElse(Result.empty()); + .orElse(InternalResult.empty()); } - private Result> findStyleById( + private InternalResult> findStyleById( String styleType, String styleId, Function> findStyleById) { Optional