Author: ridabenjelloun
Date: Wed Oct 3 13:26:39 2007
New Revision: 581716
URL: http://svn.apache.org/viewvc?rev=581716&view=rev
Log:
TIKA-35 Close RereadableInputStream in MSExtractor and
RereadableInputStreamTest classes.
Modified:
incubator/tika/trunk/src/main/java/org/apache/tika/utils/MSExtractor.java
incubator/tika/trunk/src/test/java/org/apache/tika/RereadableInputStreamTest.java
Modified:
incubator/tika/trunk/src/main/java/org/apache/tika/utils/MSExtractor.java
URL:
http://svn.apache.org/viewvc/incubator/tika/trunk/src/main/java/org/apache/tika/utils/MSExtractor.java?rev=581716&r1=581715&r2=581716&view=diff
==============================================================================
--- incubator/tika/trunk/src/main/java/org/apache/tika/utils/MSExtractor.java
(original)
+++ incubator/tika/trunk/src/main/java/org/apache/tika/utils/MSExtractor.java
Wed Oct 3 13:26:39 2007
@@ -19,13 +19,13 @@
// JDK imports
import java.io.InputStream;
-import org.apache.tika.config.Content; // Jakarta POI imports
import org.apache.log4j.Logger;
import org.apache.poi.hpsf.PropertySetFactory;
import org.apache.poi.hpsf.SummaryInformation;
import org.apache.poi.poifs.eventfilesystem.POIFSReader;
import org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent;
import org.apache.poi.poifs.eventfilesystem.POIFSReaderListener;
+import org.apache.tika.config.Content;
/**
* Defines a Microsoft document content extractor.
@@ -56,22 +56,26 @@
* Extracts properties and text from an MS Document input stream
*/
public void extract(InputStream input) throws Exception {
- // First, extract properties
- this.reader = new POIFSReader();
-
- this.reader.registerListener(new PropertiesReaderListener(),
- SummaryInformation.DEFAULT_STREAM_NAME);
-
RereadableInputStream ris = new RereadableInputStream(input,
MEMORY_THRESHOLD);
- if (input.available() > 0) {
- reader.read(ris);
- }
- while (ris.read() != -1) {
+ try {
+ // First, extract properties
+ this.reader = new POIFSReader();
+
+ this.reader.registerListener(new
PropertiesReaderListener(),
+ SummaryInformation.DEFAULT_STREAM_NAME);
+
+ if (input.available() > 0) {
+ reader.read(ris);
+ }
+ while (ris.read() != -1) {
+ }
+ ris.rewind();
+ // Extract document full text
+ this.text = extractText(ris);
+ } finally {
+ ris.close();
}
- ris.rewind();
- // Extract document full text
- this.text = extractText(ris);
}
/**
Modified:
incubator/tika/trunk/src/test/java/org/apache/tika/RereadableInputStreamTest.java
URL:
http://svn.apache.org/viewvc/incubator/tika/trunk/src/test/java/org/apache/tika/RereadableInputStreamTest.java?rev=581716&r1=581715&r2=581716&view=diff
==============================================================================
---
incubator/tika/trunk/src/test/java/org/apache/tika/RereadableInputStreamTest.java
(original)
+++
incubator/tika/trunk/src/test/java/org/apache/tika/RereadableInputStreamTest.java
Wed Oct 3 13:26:39 2007
@@ -36,18 +36,24 @@
private final int NUM_PASSES = 4;
public void test() throws IOException {
+
File file = createTestFile();
InputStream is = new BufferedInputStream(new
FileInputStream(file));
RereadableInputStream ris = new RereadableInputStream(is,
MEMORY_THRESHOLD);
- for (int pass = 0; pass < NUM_PASSES; pass++) {
- for (int byteNum = 0; byteNum < TEST_SIZE; byteNum++) {
- int byteRead = ris.read();
- assertEquals("Pass = " + pass + ", byte num
should be "
- + byteNum + " but is " +
byteRead + ".", byteNum,
- byteRead);
+ try {
+ for (int pass = 0; pass < NUM_PASSES; pass++) {
+ for (int byteNum = 0; byteNum < TEST_SIZE;
byteNum++) {
+ int byteRead = ris.read();
+ assertEquals("Pass = " + pass + ", byte
num should be "
+ + byteNum + " but is "
+ byteRead + ".", byteNum,
+ byteRead);
+ }
+ ris.rewind();
}
- ris.rewind();
+ } finally {
+ is.close();
+ ris.close();
}
}