summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-14 21:12:07 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-17 16:52:39 +0100
commit0f9ef005f063198ea2e16ca36beaead4bd5e3824 (patch)
tree4ec2f53e900d4cbe9e5258bca48ec0938a8a1762 /src
parent490f87c92ff1618591d1932f23613740e79dcb4b (diff)
Add .NET output
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java20
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/DocxFile.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/DocxFiles.java11
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java16
5 files changed, 31 insertions, 25 deletions
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 19af0bc..b60e825 100644
--- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java
+++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java
@@ -173,16 +173,6 @@ public class DocumentToHtml {
return list(Html.collapsibleElement("a", attributes, convertChildrenToHtml(hyperlink)));
}
- private String generateHref(Hyperlink hyperlink) {
- if (hyperlink.getHref().isPresent()) {
- return hyperlink.getHref().get();
- } else if (hyperlink.getAnchor().isPresent()) {
- return "#" + generateId(hyperlink.getAnchor().get());
- } else {
- return "";
- }
- }
-
@Override
public List<HtmlNode> visit(Bookmark bookmark) {
return list(Html.element("a", map("id", generateId(bookmark.getName())), list(Html.FORCE_WRITE)));
@@ -224,6 +214,16 @@ public class DocumentToHtml {
});
}
+ private String generateHref(Hyperlink hyperlink) {
+ if (hyperlink.getHref().isPresent()) {
+ return hyperlink.getHref().get();
+ } else if (hyperlink.getAnchor().isPresent()) {
+ return "#" + generateId(hyperlink.getAnchor().get());
+ } else {
+ return "";
+ }
+ }
+
private String generateNoteHtmlId(NoteType noteType, String noteId) {
return generateId(noteTypeToIdFragment(noteType) + "-" + noteId);
}
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 be2cbb9..113578d 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
@@ -268,7 +268,7 @@ public class BodyXmlReader {
Optional<String> title = element.getAttributeOrNone("o:title");
String relationshipId = element.getAttribute("r:id");
String imagePath = relationshipIdToDocxPath(relationshipId);
- return readImage(imagePath, title, () -> DocxFile.getInputStream(file, imagePath));
+ return readImage(imagePath, title, () -> DocxFiles.getInputStream(file, imagePath));
}
private ReadResult readInline(XmlElement element) {
@@ -290,7 +290,7 @@ public class BodyXmlReader {
Optional<String> linkRelationshipId = blip.getAttributeOrNone("r:link");
if (embedRelationshipId.isPresent()) {
String imagePath = relationshipIdToDocxPath(embedRelationshipId.get());
- return readImage(imagePath, altText, () -> DocxFile.getInputStream(file, imagePath));
+ return readImage(imagePath, altText, () -> DocxFiles.getInputStream(file, imagePath));
} else if (linkRelationshipId.isPresent()) {
String imagePath = relationships.findRelationshipById(linkRelationshipId.get()).getTarget();
return readImage(imagePath, altText, () -> fileReader.getInputStream(imagePath));
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocxFile.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocxFile.java
index 8e73a04..23bddb1 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/DocxFile.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocxFile.java
@@ -6,10 +6,5 @@ import java.io.InputStream;
import java.util.Optional;
public interface DocxFile extends Closeable {
- static InputStream getInputStream(DocxFile file, String name) throws IOException {
- return file.tryGetInputStream(name)
- .orElseThrow(() -> new IOException("Missing entry in file: " + name));
- }
-
Optional<InputStream> tryGetInputStream(String name) throws IOException;
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocxFiles.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocxFiles.java
new file mode 100644
index 0000000..5d06b76
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocxFiles.java
@@ -0,0 +1,11 @@
+package org.zwobble.mammoth.internal.docx;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class DocxFiles {
+ static InputStream getInputStream(DocxFile file, String name) throws IOException {
+ return file.tryGetInputStream(name)
+ .orElseThrow(() -> new IOException("Missing entry in file: " + name));
+ }
+}
diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java b/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java
index c76e989..e0cc5b4 100644
--- a/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java
+++ b/src/main/java/org/zwobble/mammoth/internal/xml/parsing/XmlParser.java
@@ -5,8 +5,8 @@ import org.zwobble.mammoth.internal.xml.XmlElement;
import org.zwobble.mammoth.internal.xml.XmlTextNode;
import java.io.InputStream;
-import java.util.ArrayDeque;
-import java.util.Deque;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import static org.zwobble.mammoth.internal.util.Maps.eagerMapKeys;
@@ -32,14 +32,14 @@ public class XmlParser {
}
private class NodeGenerator implements SimpleSaxHandler {
- private final Deque<XmlElementBuilder> elementStack;
+ private final List<XmlElementBuilder> elementStack;
public NodeGenerator() {
- elementStack = new ArrayDeque<>();
+ elementStack = new ArrayList<>();
}
public XmlElement getRoot() {
- return elementStack.getFirst().build();
+ return elementStack.get(0).build();
}
@Override
@@ -63,14 +63,14 @@ public class XmlParser {
@Override
public void endElement() {
if (elementStack.size() > 1) {
- XmlElementBuilder element = elementStack.removeLast();
- elementStack.getLast().addChild(element.build());
+ XmlElementBuilder element = elementStack.remove(elementStack.size() - 1);
+ elementStack.get(elementStack.size() - 1).addChild(element.build());
}
}
@Override
public void characters(String string) {
- elementStack.getLast().addChild(new XmlTextNode(string));
+ elementStack.get(elementStack.size() - 1).addChild(new XmlTextNode(string));
}
}
}