diff options
Diffstat (limited to 'src/main/java')
10 files changed, 34 insertions, 20 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Notes.java b/src/main/java/org/zwobble/mammoth/internal/documents/Notes.java index d8ca28d..d7de8a6 100644 --- a/src/main/java/org/zwobble/mammoth/internal/documents/Notes.java +++ b/src/main/java/org/zwobble/mammoth/internal/documents/Notes.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.Optional; import static org.zwobble.mammoth.internal.util.MammothLists.list; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; public class Notes { public final static Notes EMPTY = new Notes(list()); @@ -21,7 +22,7 @@ public class Notes { } public Optional<Note> findNote(NoteType noteType, String noteId) { - return Optional.ofNullable(notes.get(noteType)) - .flatMap(notesOfType -> Optional.ofNullable(notesOfType.get(noteId))); + return lookup(notes, noteType) + .flatMap(notesOfType -> lookup(notesOfType, noteId)); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/ContentTypes.java b/src/main/java/org/zwobble/mammoth/internal/docx/ContentTypes.java index ce4ebac..b8c6817 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/ContentTypes.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/ContentTypes.java @@ -6,6 +6,7 @@ import com.google.common.io.Files; import java.util.Map; import java.util.Optional; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; import static org.zwobble.mammoth.internal.util.MammothMaps.map; public class ContentTypes { @@ -31,13 +32,13 @@ public class ContentTypes { public Optional<String> findContentType(String path) { if (overrides.containsKey(path)) { - return Optional.ofNullable(overrides.get(path)); + return lookup(overrides, path); } else { String extension = Files.getFileExtension(path); if (extensionDefaults.containsKey(extension)) { - return Optional.ofNullable(extensionDefaults.get(extension)); + return lookup(extensionDefaults, extension); } else { - return Optional.ofNullable(imageExtensions.get(extension.toLowerCase())) + return lookup(imageExtensions, extension.toLowerCase()) .map(imageType -> "image/" + imageType); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/InMemoryDocxFile.java b/src/main/java/org/zwobble/mammoth/internal/docx/InMemoryDocxFile.java index 7229ad5..5db03d4 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/InMemoryDocxFile.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/InMemoryDocxFile.java @@ -13,6 +13,8 @@ import java.util.Optional; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; + public class InMemoryDocxFile implements DocxFile { public static DocxFile fromStream(InputStream stream) throws IOException { ZipInputStream zipStream = new ZipInputStream(stream); @@ -36,7 +38,7 @@ public class InMemoryDocxFile implements DocxFile { @Override public Optional<InputStream> tryGetInputStream(String name) throws IOException { - return Optional.ofNullable(entries.get(name)) + return lookup(entries, name) .map(ByteArrayInputStream::new); } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java b/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java index f61b5db..9208c82 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/Numbering.java @@ -5,6 +5,7 @@ import org.zwobble.mammoth.internal.documents.NumberingLevel; import java.util.Map; import java.util.Optional; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; import static org.zwobble.mammoth.internal.util.MammothMaps.map; public class Numbering { @@ -17,7 +18,7 @@ public class Numbering { } public Optional<NumberingLevel> findLevel(String numId, String level) { - return Optional.ofNullable(numbering.get(numId)) - .flatMap(levels -> Optional.ofNullable(levels.get(level))); + return lookup(numbering, numId) + .flatMap(levels -> lookup(levels, level)); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java b/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java index 0ee480d..083f116 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.Optional; import static com.google.common.collect.Maps.immutableEntry; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; import static org.zwobble.mammoth.internal.util.MammothMaps.toMap; public class NumberingXml { @@ -51,6 +52,6 @@ public class NumberingXml { // TODO: in python-mammoth, we allow None here. Check whether that's actually possible or not String numId = numElement.getAttribute("w:numId"); String abstractNumId = numElement.findChild("w:abstractNumId").getAttribute("w:val"); - return immutableEntry(numId, Optional.ofNullable(abstractNums.get(abstractNumId)).get()); + return immutableEntry(numId, lookup(abstractNums, abstractNumId).get()); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java b/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java index d019b57..b1f2279 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/Relationships.java @@ -1,8 +1,8 @@ package org.zwobble.mammoth.internal.docx; import java.util.Map; -import java.util.Optional; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; import static org.zwobble.mammoth.internal.util.MammothMaps.map; public class Relationships { @@ -15,6 +15,6 @@ public class Relationships { } public Relationship findRelationshipById(String id) { - return Optional.ofNullable(relationships.get(id)).get(); + return lookup(relationships, id).get(); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/Styles.java b/src/main/java/org/zwobble/mammoth/internal/docx/Styles.java index d5e32e8..5b9b131 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/Styles.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/Styles.java @@ -5,6 +5,7 @@ import org.zwobble.mammoth.internal.documents.Style; import java.util.Map; import java.util.Optional; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; import static org.zwobble.mammoth.internal.util.MammothMaps.map; public class Styles { @@ -19,10 +20,10 @@ public class Styles { } public Optional<Style> findParagraphStyleById(String id) { - return Optional.ofNullable(paragraphStyles.get(id)); + return lookup(paragraphStyles, id); } public Optional<Style> findCharacterStyleById(String id) { - return Optional.ofNullable(characterStyles.get(id)); + return lookup(characterStyles, id); } } diff --git a/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java b/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java index 912a454..2f098ce 100644 --- a/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java +++ b/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java @@ -3,6 +3,7 @@ package org.zwobble.mammoth.internal.util; import com.google.common.collect.ImmutableMap; import java.util.Map; +import java.util.Optional; import java.util.function.Function; public class MammothMaps { @@ -22,6 +23,10 @@ public class MammothMaps { return ImmutableMap.of(key1, value1, key2, value2, key3, value3); } + public static <K, V> Optional<V> lookup(Map<K, V> map, K key) { + return Optional.ofNullable(map.get(key)); + } + public static <T, K, V> Map<K, V> toMap(Iterable<T> iterable, Function<T, Map.Entry<K, V>> function) { ImmutableMap.Builder<K, V> builder = ImmutableMap.builder(); for (T element : iterable) { diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java b/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java index 157d638..a0ed784 100644 --- a/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java +++ b/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.Optional; import static com.google.common.collect.Iterables.*; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; public class XmlElement implements XmlNode, XmlElementLike { private final String name; @@ -35,7 +36,7 @@ public class XmlElement implements XmlNode, XmlElementLike { @Override public Optional<String> getAttributeOrNone(String name) { - return Optional.ofNullable(attributes.get(name)); + return lookup(attributes, name); } public List<XmlNode> getChildren() { 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 566dbd6..b196dbd 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 @@ -1,16 +1,17 @@ package org.zwobble.mammoth.internal.xml.parsing; -import java.io.InputStream; -import java.util.ArrayDeque; -import java.util.Deque; -import java.util.Map; - import com.google.common.base.Strings; import com.google.common.collect.BiMap; 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.Map; + import static java.util.stream.Collectors.toMap; +import static org.zwobble.mammoth.internal.util.MammothMaps.lookup; public class XmlParser { private final BiMap<String, String> namespaces; @@ -58,7 +59,7 @@ public class XmlParser { if (Strings.isNullOrEmpty(name.getUri())) { return name.getLocalName(); } else if (namespaces.containsValue(name.getUri())) { - return namespaces.inverse().get(name.getUri()) + ":" + name.getLocalName(); + return lookup(namespaces.inverse(), name.getUri()).get() + ":" + name.getLocalName(); } else { return "{" + name.getUri() + "}" + name.getLocalName(); } |
