You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2011/03/24 00:26:00 UTC

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

Author: nick
Date: Wed Mar 23 23:25:59 2011
New Revision: 1084805

URL: http://svn.apache.org/viewvc?rev=1084805&view=rev
Log:
TIKA-555 fallout - While image/bmp isn't the official mimetype, it is what Java thinks it is. So, switch from the official to the un-offial one before asking Java to give us image processors

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java?rev=1084805&r1=1084804&r2=1084805&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageParser.java Wed Mar 23 23:25:59 2011
@@ -43,10 +43,13 @@ import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
 
 public class ImageParser implements Parser {
-
+    private static final MediaType CANONICAL_BMP_TYPE = MediaType.image("x-ms-bmp");
+    private static final MediaType JAVA_BMP_TYPE = MediaType.image("bmp");
+    
     private static final Set<MediaType> SUPPORTED_TYPES =
         Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
-                MediaType.image("bmp"),
+                CANONICAL_BMP_TYPE,
+                JAVA_BMP_TYPE,
                 MediaType.image("gif"),
                 MediaType.image("png"),
                 MediaType.image("vnd.wap.wbmp"),
@@ -64,6 +67,12 @@ public class ImageParser implements Pars
             throws IOException, SAXException, TikaException {
         String type = metadata.get(Metadata.CONTENT_TYPE);
         if (type != null) {
+            // Java has a different idea of the BMP mime type to
+            //  what the canonical one is, fix this up.
+            if (CANONICAL_BMP_TYPE.toString().equals(type)) {
+               type = JAVA_BMP_TYPE.toString();
+            }
+           
             try {
                 Iterator<ImageReader> iterator =
                     ImageIO.getImageReadersByMIMEType(type);