You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by tp...@apache.org on 2015/03/15 06:08:02 UTC

svn commit: r1666778 - in /tika/trunk: CHANGES.txt tika-parsers/pom.xml tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java

Author: tpalsulich
Date: Sun Mar 15 05:08:01 2015
New Revision: 1666778

URL: http://svn.apache.org/r1666778
Log:
TIKA-1576. Upgrade metadata-extractor to version 2.7.2.

Modified:
    tika/trunk/CHANGES.txt
    tika/trunk/tika-parsers/pom.xml
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java

Modified: tika/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1666778&r1=1666777&r2=1666778&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Sun Mar 15 05:08:01 2015
@@ -1,5 +1,8 @@
 Release 1.8 - Current Development
 
+  * Upgraded the Drew Noakes metadata-extractor to version 2.7.2
+    (TIKA-1576).
+
   * Added basic style support for ODF documents, contributed by
     Axel Dörfler (TIKA-1063).
 

Modified: tika/trunk/tika-parsers/pom.xml
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/pom.xml?rev=1666778&r1=1666777&r2=1666778&view=diff
==============================================================================
--- tika/trunk/tika-parsers/pom.xml (original)
+++ tika/trunk/tika-parsers/pom.xml Sun Mar 15 05:08:01 2015
@@ -178,7 +178,7 @@
     <dependency>
       <groupId>com.drewnoakes</groupId>
       <artifactId>metadata-extractor</artifactId>
-      <version>2.6.2</version>
+      <version>2.7.2</version>
     </dependency>
     <dependency>
       <groupId>de.l3s.boilerpipe</groupId>

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java?rev=1666778&r1=1666777&r2=1666778&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java Sun Mar 15 05:08:01 2015
@@ -28,6 +28,8 @@ import java.util.Locale;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import com.drew.imaging.jpeg.JpegSegmentType;
+import com.drew.imaging.tiff.TiffProcessingException;
 import org.apache.poi.util.IOUtils;
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.metadata.IPTC;
@@ -39,7 +41,6 @@ import org.xml.sax.SAXException;
 import com.drew.imaging.jpeg.JpegMetadataReader;
 import com.drew.imaging.jpeg.JpegProcessingException;
 import com.drew.imaging.tiff.TiffMetadataReader;
-import com.drew.lang.BufferReader;
 import com.drew.lang.ByteArrayReader;
 import com.drew.lang.GeoLocation;
 import com.drew.lang.Rational;
@@ -110,6 +111,8 @@ public class ImageMetadataExtractor {
             handle(tiffMetadata);
         } catch (MetadataException e) {
             throw new TikaException("Can't read TIFF metadata", e);
+        } catch (TiffProcessingException e) {
+            throw new TikaException("Can't read TIFF metadata", e);
         }
     }
     
@@ -131,11 +134,9 @@ public class ImageMetadataExtractor {
     }
     public void parseRawExif(byte[] exifData)
             throws IOException, SAXException, TikaException {
-        BufferReader exifReader = new ByteArrayReader(exifData);
-        
         com.drew.metadata.Metadata metadata = new com.drew.metadata.Metadata();
         ExifReader reader = new ExifReader();
-        reader.extract(exifReader, metadata);
+        reader.extract(exifData, metadata, JpegSegmentType.APP1);
         
         try {
             handle(metadata);
@@ -145,11 +146,9 @@ public class ImageMetadataExtractor {
     }
     public void parseRawXMP(byte[] xmpData)
             throws IOException, SAXException, TikaException {
-        BufferReader xmpReader = new ByteArrayReader(xmpData);
-        
         com.drew.metadata.Metadata metadata = new com.drew.metadata.Metadata();
         XmpReader reader = new XmpReader();
-        reader.extract(xmpReader, metadata);
+        reader.extract(xmpData, metadata);
         
         try {
             handle(metadata);
@@ -265,11 +264,11 @@ public class ImageMetadataExtractor {
             //Exif.Image.ImageLength                       Short       1  75
             // and the values are found in "Thumbnail Image Width" (and Height) from Metadata Extractor
             set(directory, metadata, ExifThumbnailDirectory.TAG_THUMBNAIL_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
-            set(directory, metadata, JpegDirectory.TAG_JPEG_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
+            set(directory, metadata, JpegDirectory.TAG_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
             set(directory, metadata, ExifThumbnailDirectory.TAG_THUMBNAIL_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
-            set(directory, metadata, JpegDirectory.TAG_JPEG_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
+            set(directory, metadata, JpegDirectory.TAG_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
             // Bits per sample, two methods of extracting, exif overrides jpeg
-            set(directory, metadata, JpegDirectory.TAG_JPEG_DATA_PRECISION, Metadata.BITS_PER_SAMPLE);
+            set(directory, metadata, JpegDirectory.TAG_DATA_PRECISION, Metadata.BITS_PER_SAMPLE);
             set(directory, metadata, ExifSubIFDDirectory.TAG_BITS_PER_SAMPLE, Metadata.BITS_PER_SAMPLE);
             // Straightforward
             set(directory, metadata, ExifSubIFDDirectory.TAG_SAMPLES_PER_PIXEL, Metadata.SAMPLES_PER_PIXEL);
@@ -289,8 +288,8 @@ public class ImageMetadataExtractor {
             return directoryType == JpegCommentDirectory.class;
         }
         public void handle(Directory directory, Metadata metadata) throws MetadataException {
-            if (directory.containsTag(JpegCommentDirectory.TAG_JPEG_COMMENT)) {
-                metadata.add(TikaCoreProperties.COMMENTS, directory.getString(JpegCommentDirectory.TAG_JPEG_COMMENT));
+            if (directory.containsTag(JpegCommentDirectory.TAG_COMMENT)) {
+                metadata.add(TikaCoreProperties.COMMENTS, directory.getString(JpegCommentDirectory.TAG_COMMENT));
             }
         }
     }