diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-12-31 16:49:02 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-12-31 16:49:02 +0000 |
| commit | 7bc069e050e740432f86a780e13feae99968c831 (patch) | |
| tree | d494a16fd392733be3ea41529c865907b4c9f2c3 /src/main/java | |
| parent | 8e74ac206058628958bd98cb6ccf91bf144793c8 (diff) | |
Add fallback image content types
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/docx/ContentTypes.java | 18 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/xml/XmlNodes.java | 4 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java b/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java index bd61763..f36ca49 100644 --- a/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java +++ b/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java @@ -1,11 +1,22 @@ package org.zwobble.mammoth.docx; +import com.google.common.collect.ImmutableMap; import com.google.common.io.Files; import java.util.Map; import java.util.Optional; public class ContentTypes { + private static final Map<String, String> imageExtensions = ImmutableMap.<String, String>builder() + .put("png", "png") + .put("gif", "gif") + .put("jpeg", "jpeg") + .put("jpg", "jpeg") + .put("bmp", "bmp") + .put("tif", "tiff") + .put("tiff", "tiff") + .build(); + private final Map<String, String> extensionDefaults; private final Map<String, String> overrides; @@ -19,7 +30,12 @@ public class ContentTypes { return Optional.ofNullable(overrides.get(path)); } else { String extension = Files.getFileExtension(path); - return Optional.ofNullable(extensionDefaults.get(extension)); + if (extensionDefaults.containsKey(extension)) { + return Optional.ofNullable(extensionDefaults.get(extension)); + } else { + return Optional.ofNullable(imageExtensions.get(extension.toLowerCase())) + .map(imageType -> "image/" + imageType); + } } } } diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java b/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java index 272a710..ce36615 100644 --- a/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java +++ b/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java @@ -7,6 +7,10 @@ import java.util.List; import java.util.Map; public class XmlNodes { + public static XmlElement element(String name) { + return element(name, ImmutableList.of()); + } + public static XmlElement element(String name, Map<String, String> attributes) { return element(name, attributes, ImmutableList.of()); } |
