From 6c4a8ccebb22e910c60fe75b0cff790b9e2fa1b5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 31 Aug 2022 21:46:48 +0100 Subject: Move InternalImageConverter to conversion package --- .../mammoth/internal/InternalImageConverter.java | 58 ---------------------- .../internal/conversion/DocumentToHtml.java | 1 - .../internal/conversion/DocumentToHtmlOptions.java | 1 - .../conversion/InternalImageConverter.java | 58 ++++++++++++++++++++++ 4 files changed, 58 insertions(+), 60 deletions(-) delete mode 100644 src/main/java/org/zwobble/mammoth/internal/InternalImageConverter.java create mode 100644 src/main/java/org/zwobble/mammoth/internal/conversion/InternalImageConverter.java (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/internal/InternalImageConverter.java b/src/main/java/org/zwobble/mammoth/internal/InternalImageConverter.java deleted file mode 100644 index dee5b9d..0000000 --- a/src/main/java/org/zwobble/mammoth/internal/InternalImageConverter.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.zwobble.mammoth.internal; - -import org.zwobble.mammoth.images.ImageConverter; -import org.zwobble.mammoth.internal.documents.Image; -import org.zwobble.mammoth.internal.html.Html; -import org.zwobble.mammoth.internal.html.HtmlNode; -import org.zwobble.mammoth.internal.util.PassThroughException; - -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import static org.zwobble.mammoth.internal.util.Lists.list; - -public class InternalImageConverter { - private final ImageConverter.ImgElement imgElement; - - public static InternalImageConverter imgElement(ImageConverter.ImgElement imgElement) { - return new InternalImageConverter(imgElement); - } - - private InternalImageConverter(ImageConverter.ImgElement imgElement) { - this.imgElement = imgElement; - } - - public List convert(Image internalImage) throws IOException { - // TODO: handle empty content type - return PassThroughException.unwrap(() -> { - return internalImage.getContentType() - .map(contentType -> { - org.zwobble.mammoth.images.Image image = new org.zwobble.mammoth.images.Image() { - @Override - public Optional getAltText() { - return internalImage.getAltText(); - } - - @Override - public String getContentType() { - return contentType; - } - - @Override - public InputStream getInputStream() throws IOException { - return internalImage.open(); - } - }; - - Map attributes = new HashMap<>(PassThroughException.wrap(() -> imgElement.convert(image))); - internalImage.getAltText().ifPresent(altText -> attributes.put("alt", altText)); - return list(Html.element("img", attributes)); - }) - .orElse(list()); - }); - } -} diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java index bc1c75b..3da9b7b 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java @@ -1,6 +1,5 @@ package org.zwobble.mammoth.internal.conversion; -import org.zwobble.mammoth.internal.InternalImageConverter; import org.zwobble.mammoth.internal.documents.*; import org.zwobble.mammoth.internal.html.Html; import org.zwobble.mammoth.internal.html.HtmlNode; diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java index 4a72ae1..2c455e2 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java @@ -1,7 +1,6 @@ package org.zwobble.mammoth.internal.conversion; import org.zwobble.mammoth.images.ImageConverter; -import org.zwobble.mammoth.internal.InternalImageConverter; import org.zwobble.mammoth.internal.styles.DefaultStyles; import org.zwobble.mammoth.internal.styles.StyleMap; import org.zwobble.mammoth.internal.styles.parsing.StyleMapParser; diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/InternalImageConverter.java b/src/main/java/org/zwobble/mammoth/internal/conversion/InternalImageConverter.java new file mode 100644 index 0000000..3aad8e8 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/InternalImageConverter.java @@ -0,0 +1,58 @@ +package org.zwobble.mammoth.internal.conversion; + +import org.zwobble.mammoth.images.ImageConverter; +import org.zwobble.mammoth.internal.documents.Image; +import org.zwobble.mammoth.internal.html.Html; +import org.zwobble.mammoth.internal.html.HtmlNode; +import org.zwobble.mammoth.internal.util.PassThroughException; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import static org.zwobble.mammoth.internal.util.Lists.list; + +public class InternalImageConverter { + private final ImageConverter.ImgElement imgElement; + + public static InternalImageConverter imgElement(ImageConverter.ImgElement imgElement) { + return new InternalImageConverter(imgElement); + } + + private InternalImageConverter(ImageConverter.ImgElement imgElement) { + this.imgElement = imgElement; + } + + public List convert(Image internalImage) throws IOException { + // TODO: handle empty content type + return PassThroughException.unwrap(() -> { + return internalImage.getContentType() + .map(contentType -> { + org.zwobble.mammoth.images.Image image = new org.zwobble.mammoth.images.Image() { + @Override + public Optional getAltText() { + return internalImage.getAltText(); + } + + @Override + public String getContentType() { + return contentType; + } + + @Override + public InputStream getInputStream() throws IOException { + return internalImage.open(); + } + }; + + Map attributes = new HashMap<>(PassThroughException.wrap(() -> imgElement.convert(image))); + internalImage.getAltText().ifPresent(altText -> attributes.put("alt", altText)); + return list(Html.element("img", attributes)); + }) + .orElse(list()); + }); + } +} -- cgit v1.2.3