From 245e15fa4667a59a55b1add32ed8ea3a01a53767 Mon Sep 17 00:00:00 2001 From: Erik Forkalsrud Date: Sun, 24 Aug 2014 17:01:01 -0700 Subject: [PATCH] downgrade je to a version that is in maven central and remove forkalsrud.org repo update metadata-extractor from 2.4.0-beta to 2.6.2 --- pom.xml | 8 +++--- .../exif/DirectoryMetadataGenerator.java | 26 ++++++++++--------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index ad4af5a..f2f1ea5 100644 --- a/pom.xml +++ b/pom.xml @@ -117,7 +117,7 @@ com.drewnoakes metadata-extractor - 2.4.0-beta-1 + 2.6.2 javax.servlet @@ -139,7 +139,7 @@ com.sleepycat je - 4.0.117 + 4.0.92 org.springframework @@ -241,7 +241,7 @@ test - + central diff --git a/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java b/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java index 9c93392..adf8043 100644 --- a/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java +++ b/src/main/java/org/forkalsrud/album/exif/DirectoryMetadataGenerator.java @@ -26,7 +26,8 @@ import com.drew.imaging.jpeg.JpegMetadataReader; import com.drew.metadata.Directory; import com.drew.metadata.Metadata; import com.drew.metadata.MetadataException; -import com.drew.metadata.exif.ExifDirectory; +import com.drew.metadata.exif.ExifIFD0Directory; +import com.drew.metadata.exif.ExifSubIFDDirectory; import com.drew.metadata.jpeg.JpegDirectory; public class DirectoryMetadataGenerator { @@ -127,28 +128,29 @@ public class DirectoryMetadataGenerator { Metadata metadata; try { metadata = JpegMetadataReader.readMetadata(f); - Directory exifDirectory = metadata.getDirectory(ExifDirectory.class); - if (exifDirectory.containsTag(ExifDirectory.TAG_ORIENTATION)) { - int orientation = exifDirectory.getInt(ExifDirectory.TAG_ORIENTATION); + Directory exifDirectory = metadata.getDirectory(ExifIFD0Directory.class); + if (exifDirectory != null && exifDirectory.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) { + int orientation = exifDirectory.getInt(ExifIFD0Directory.TAG_ORIENTATION); props.put("orientation", nf.format(orientation)); hasOrientation = true; } - if (exifDirectory.containsTag(ExifDirectory.TAG_EXIF_IMAGE_WIDTH) && - exifDirectory.containsTag(ExifDirectory.TAG_EXIF_IMAGE_HEIGHT)) { - int width = exifDirectory.getInt(ExifDirectory.TAG_EXIF_IMAGE_WIDTH); - int height = exifDirectory.getInt(ExifDirectory.TAG_EXIF_IMAGE_HEIGHT); + Directory exifSubDirectory = metadata.getDirectory(ExifSubIFDDirectory.class); + if (exifSubDirectory != null && exifSubDirectory.containsTag(ExifSubIFDDirectory.TAG_EXIF_IMAGE_WIDTH) && + exifSubDirectory.containsTag(ExifSubIFDDirectory.TAG_EXIF_IMAGE_HEIGHT)) { + int width = exifSubDirectory.getInt(ExifSubIFDDirectory.TAG_EXIF_IMAGE_WIDTH); + int height = exifSubDirectory.getInt(ExifSubIFDDirectory.TAG_EXIF_IMAGE_HEIGHT); props.put("dimensions", new Dimension(width, height).toString()); hasDim = true; } - if (exifDirectory.containsTag(ExifDirectory.TAG_DATETIME_ORIGINAL)) { - Date captureDate = getExifDate(exifDirectory, ExifDirectory.TAG_DATETIME_ORIGINAL); + if (exifSubDirectory != null && exifSubDirectory.containsTag(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL)) { + Date captureDate = getExifDate(exifSubDirectory, ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL); if (captureDate != null) { props.put("captureDate", sdf.format(captureDate)); hasDate = true; } } - if (exifDirectory.containsTag(ExifDirectory.TAG_USER_COMMENT)) { - String comment = exifDirectory.getString(ExifDirectory.TAG_USER_COMMENT); + if (exifSubDirectory != null && exifSubDirectory.containsTag(ExifSubIFDDirectory.TAG_USER_COMMENT)) { + String comment = exifSubDirectory.getString(ExifSubIFDDirectory.TAG_USER_COMMENT); props.put("comment", comment); } Directory jpegDirectory = metadata.getDirectory(JpegDirectory.class);