You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by rg...@apache.org on 2012/10/29 02:12:58 UTC

svn commit: r1403139 - /tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java

Author: rgauss
Date: Mon Oct 29 01:12:58 2012
New Revision: 1403139

URL: http://svn.apache.org/viewvc?rev=1403139&view=rev
Log:
TIKA-984: JpegParserTest fails for some locales
   - Changed GEO_DECIMAL_FORMAT to simple String GEO_DECIMAL_FORMAT_STRING
   - Changed GeotagHandler to create a new, Locale-specific DecimalFormat object using the GEO_DECIMAL_FORMAT_STRING

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.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=1403139&r1=1403138&r2=1403139&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 Mon Oct 29 01:12:58 2012
@@ -19,9 +19,11 @@ package org.apache.tika.parser.image;
 import java.io.File;
 import java.io.IOException;
 import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Iterator;
+import java.util.Locale;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -58,7 +60,7 @@ public class ImageMetadataExtractor {
 
     private final Metadata metadata;
     private DirectoryHandler[] handlers;
-    private static final DecimalFormat GEO_DECIMAL_FORMAT = new DecimalFormat("#.######"); // 6 dp seems to be reasonable
+    private static final String GEO_DECIMAL_FORMAT_STRING = "#.######"; // 6 dp seems to be reasonable
 
     /**
      * @param metadata to extract to, using default directory handlers
@@ -440,8 +442,10 @@ public class ImageMetadataExtractor {
         public void handle(Directory directory, Metadata metadata) throws MetadataException {
             GeoLocation geoLocation = ((GpsDirectory) directory).getGeoLocation();
             if (geoLocation != null) {
-                metadata.set(TikaCoreProperties.LATITUDE, GEO_DECIMAL_FORMAT.format(new Double(geoLocation.getLatitude())));
-                metadata.set(TikaCoreProperties.LONGITUDE, GEO_DECIMAL_FORMAT.format(new Double(geoLocation.getLongitude())));
+                DecimalFormat geoDecimalFormat = new DecimalFormat(GEO_DECIMAL_FORMAT_STRING,
+                        DecimalFormatSymbols.getInstance(Locale.ENGLISH));
+                metadata.set(TikaCoreProperties.LATITUDE, geoDecimalFormat.format(new Double(geoLocation.getLatitude())));
+                metadata.set(TikaCoreProperties.LONGITUDE, geoDecimalFormat.format(new Double(geoLocation.getLongitude())));
             }
         }
     }