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