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/04/21 17:58:23 UTC

svn commit: r1095759 - /tika/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java

Author: nick
Date: Thu Apr 21 15:58:22 2011
New Revision: 1095759

URL: http://svn.apache.org/viewvc?rev=1095759&view=rev
Log:
TIKA-643 - Now that we're using NPOIFS which takes files, simplify the code as we don't need to use an InputStream

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java?rev=1095759&r1=1095758&r2=1095759&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/detect/POIFSContainerDetector.java Thu Apr 21 15:58:22 2011
@@ -18,9 +18,7 @@ package org.apache.tika.detect;
 
 import static org.apache.tika.mime.MediaType.application;
 
-import java.io.BufferedInputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collections;
@@ -29,8 +27,6 @@ import java.util.Set;
 
 import org.apache.poi.poifs.filesystem.Entry;
 import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
-import org.apache.tika.io.CloseShieldInputStream;
-import org.apache.tika.io.TaggedInputStream;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.mime.MediaType;
@@ -43,6 +39,11 @@ import org.apache.tika.mime.MediaType;
  */
 public class POIFSContainerDetector implements Detector {
 
+    /**
+     * Serial version UID.
+     */
+    private static final long serialVersionUID = -3028021741663605293L;
+
     /** The OLE base file format */
     public static final MediaType OLE = application("x-tika-msoffice");
 
@@ -136,18 +137,8 @@ public class POIFSContainerDetector impl
         // so we don't modify the current position of the stream
         File file = stream.getFile();
 
-        // Use a tagged stream to distinguish between real I/O problems
-        // and parse errors thrown as IOExceptions by POI.
-        TaggedInputStream tagged = new TaggedInputStream(
-                new BufferedInputStream(new FileInputStream(file)));
         try {
-            NPOIFSFileSystem fs;
-            if (stream.hasFile()) {
-               fs = new NPOIFSFileSystem(stream.getFile());
-            } else {
-               // Load from a stream, but prevent the stream being closed
-               fs = new NPOIFSFileSystem(new CloseShieldInputStream(tagged));
-            }
+            NPOIFSFileSystem fs = new NPOIFSFileSystem(file);
 
             // Optimize a possible later parsing process by keeping
             // a reference to the already opened POI file system
@@ -159,15 +150,11 @@ public class POIFSContainerDetector impl
             }
             return names;
         } catch (IOException e) {
-            // Was this a real I/O problem?
-            tagged.throwIfCauseOf(e);
             // Parse error in POI, so we don't know the file type
             return Collections.emptySet();
         } catch (RuntimeException e) {
             // Another problem in POI
             return Collections.emptySet();
-        } finally {
-            tagged.close();
         }
     }