Author: rgauss
Date: Wed May 1 17:42:52 2013
New Revision: 1478111
URL: http://svn.apache.org/r1478111
Log:
TIKA-1115: ExifHandler throws NullPointerException
- Added check for null datetime
- Added file exhibiting problem datetime field
- Added unit test
Added:
tika/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF_emptyDateTime.jpg
(with props)
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
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=1478111&r1=1478110&r2=1478111&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
Wed May 1 17:42:52 2013
@@ -388,11 +388,13 @@ public class ImageMetadataExtractor {
}
if (directory.containsTag(ExifIFD0Directory.TAG_DATETIME)) {
Date datetime =
directory.getDate(ExifIFD0Directory.TAG_DATETIME);
- String datetimeNoTimeZone =
DATE_UNSPECIFIED_TZ.format(datetime);
- metadata.set(TikaCoreProperties.MODIFIED, datetimeNoTimeZone);
- // If Date/Time Original does not exist this might be creation
date
- if (metadata.get(TikaCoreProperties.CREATED) == null) {
- metadata.set(TikaCoreProperties.CREATED,
datetimeNoTimeZone);
+ if (datetime != null) {
+ String datetimeNoTimeZone =
DATE_UNSPECIFIED_TZ.format(datetime);
+ metadata.set(TikaCoreProperties.MODIFIED,
datetimeNoTimeZone);
+ // If Date/Time Original does not exist this might be
creation date
+ if (metadata.get(TikaCoreProperties.CREATED) == null) {
+ metadata.set(TikaCoreProperties.CREATED,
datetimeNoTimeZone);
+ }
}
}
}
Modified:
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java?rev=1478111&r1=1478110&r2=1478111&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
(original)
+++
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/jpeg/JpegParserTest.java
Wed May 1 17:42:52 2013
@@ -225,4 +225,14 @@ public class JpegParserTest extends Test
assertEquals("251", metadata.get(Metadata.IMAGE_WIDTH));
assertEquals("384", metadata.get(Metadata.IMAGE_LENGTH));
}
+
+ public void testJPEGEmptyEXIFDateTime() throws Exception {
+ Metadata metadata = new Metadata();
+ metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
+ InputStream stream =
+
getClass().getResourceAsStream("/test-documents/testJPEG_EXIF_emptyDateTime.jpg");
+ parser.parse(stream, new DefaultHandler(), metadata, new
ParseContext());
+ assertEquals("300.0", metadata.get(TIFF.RESOLUTION_HORIZONTAL));
+ assertEquals("300.0", metadata.get(TIFF.RESOLUTION_VERTICAL));
+ }
}
Added:
tika/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF_emptyDateTime.jpg
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF_emptyDateTime.jpg?rev=1478111&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tika/trunk/tika-parsers/src/test/resources/test-documents/testJPEG_EXIF_emptyDateTime.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg