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();
}
}