You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2020/07/15 18:59:38 UTC
[tika] 01/05: TIKA-3130 -- add ICC prefix
This is an automated email from the ASF dual-hosted git repository.
tallison pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git
commit 7d749cf0a8434a696fce8dd33a911e76520cd35a
Author: tallison <ta...@apache.org>
AuthorDate: Wed Jul 15 13:27:18 2020 -0400
TIKA-3130 -- add ICC prefix
---
.../java/org/apache/tika/parser/image/ImageMetadataExtractor.java | 6 ++++++
.../src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java b/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
index 622f48a..1a57ce2 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
@@ -49,6 +49,7 @@ import com.drew.metadata.exif.ExifReader;
import com.drew.metadata.exif.ExifSubIFDDirectory;
import com.drew.metadata.exif.ExifThumbnailDirectory;
import com.drew.metadata.exif.GpsDirectory;
+import com.drew.metadata.icc.IccDirectory;
import com.drew.metadata.iptc.IptcDirectory;
import com.drew.metadata.jpeg.JpegCommentDirectory;
import com.drew.metadata.jpeg.JpegDirectory;
@@ -77,6 +78,9 @@ public class ImageMetadataExtractor {
//TODO: add this to the signatures from the actual parse
private static final ParseContext EMPTY_PARSE_CONTEXT = new ParseContext();
private static final String GEO_DECIMAL_FORMAT_STRING = "#.######"; // 6 dp seems to be reasonable
+
+ private static final String ICC_NS = "ICC" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER;
+
private final Metadata metadata;
private DirectoryHandler[] handlers;
@@ -308,6 +312,8 @@ public class ImageMetadataExtractor {
}
if (directory instanceof ExifDirectoryBase) {
metadata.set(directory.getName() + ":" + name, value);
+ } else if (directory instanceof IccDirectory) {
+ metadata.set(ICC_NS+name, value);
} else {
metadata.set(name, value);
}
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
index dd0d234..d39c2fb 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
@@ -18,6 +18,7 @@ package org.apache.tika.parser.jpeg;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.io.InputStream;
@@ -204,6 +205,11 @@ public class JpegParserTest {
assertEquals("300.0", metadata.get(Metadata.RESOLUTION_HORIZONTAL));
assertEquals("300.0", metadata.get(Metadata.RESOLUTION_VERTICAL));
assertEquals("Inch", metadata.get(Metadata.RESOLUTION_UNIT));
+
+ //ICC
+ assertEquals("IEC", metadata.get("ICC:Device manufacturer").trim());
+ assertNull(metadata.get("Device manufacturer"));
+
}
@Test