You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2006/05/26 02:20:15 UTC
svn commit: r409517 - in /jackrabbit/branches/1.0/textfilters: ./
src/java/org/apache/jackrabbit/core/query/
Author: jukka
Date: Thu May 25 17:20:14 2006
New Revision: 409517
URL: http://svn.apache.org/viewvc?rev=409517&view=rev
Log:
1.0: Merged revision 392211: JCR-264
Added:
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/LazyReader.java
- copied unchanged from r392211, jackrabbit/trunk/textfilters/src/java/org/apache/jackrabbit/core/query/LazyReader.java
Modified:
jackrabbit/branches/1.0/textfilters/project.xml
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/HTMLTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsExcelTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsPowerPointTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsWordTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/OpenOfficeTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/PdfTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/RTFTextFilter.java
jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/XMLTextFilter.java
Modified: jackrabbit/branches/1.0/textfilters/project.xml
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/project.xml?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/project.xml (original)
+++ jackrabbit/branches/1.0/textfilters/project.xml Thu May 25 17:20:14 2006
@@ -174,6 +174,12 @@
<type>jar</type>
</dependency>
<dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.0</version>
+ <type>jar</type>
+ </dependency>
+ <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.8</version>
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/HTMLTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/HTMLTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/HTMLTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/HTMLTextFilter.java Thu May 25 17:20:14 2006
@@ -16,6 +16,8 @@
package org.apache.jackrabbit.core.query;
import java.io.StringReader;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
@@ -72,28 +74,35 @@
InternalValue[] values = data.getValues();
if (values.length > 0) {
- try {
- try {
- BLOBFileValue blob =
- (BLOBFileValue) values[0].internalValue();
-
- SAXSource source =
- new SAXSource(parser,
- new InputSource(blob.getStream()));
- transformer.transform(source, result);
-
- String text = parser.getContents();
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new StringReader(text));
- return result;
- } catch (TransformerException te) {
- throw new RepositoryException(te);
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+ try {
+ SAXSource source =
+ new SAXSource(parser,
+ new InputSource(in));
+ transformer.transform(source, result);
+
+ String text = parser.getContents();
+
+ delegate = new StringReader(text);
+ } catch (TransformerException e) {
+ throw new IOException(e.getMessage());
+ } finally {
+ in.close();
+ }
}
+ };
- } catch (IllegalStateException e) {
- throw new RepositoryException(e);
- }
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
} else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsExcelTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsExcelTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsExcelTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsExcelTextFilter.java Thu May 25 17:20:14 2006
@@ -18,6 +18,7 @@
import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -59,51 +60,61 @@
public Map doFilter(PropertyState data, String encoding) throws RepositoryException {
InternalValue[] values = data.getValues();
if (values.length > 0) {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
-
- try {
- CharArrayWriter writer = new CharArrayWriter();
-
- POIFSFileSystem fs = new POIFSFileSystem(blob.getStream());
- HSSFWorkbook workbook = new HSSFWorkbook(fs);
-
- for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
- HSSFSheet sheet = workbook.getSheetAt(i);
-
- Iterator rows = sheet.rowIterator();
- while (rows.hasNext()) {
- HSSFRow row = (HSSFRow) rows.next();
-
- Iterator cells = row.cellIterator();
- while (cells.hasNext()) {
- HSSFCell cell = (HSSFCell) cells.next();
- switch (cell.getCellType()) {
- case HSSFCell.CELL_TYPE_NUMERIC:
- String num = Double.toString(cell.getNumericCellValue()).trim();
- if (num.length() > 0) {
- writer.write(num + " ");
- }
- break;
- case HSSFCell.CELL_TYPE_STRING:
- String text = cell.getStringCellValue().trim();
- if (text.length() > 0) {
- writer.write(text + " ");
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ CharArrayWriter writer = new CharArrayWriter();
+
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+
+ try {
+ POIFSFileSystem fs = new POIFSFileSystem(in);
+ HSSFWorkbook workbook = new HSSFWorkbook(fs);
+
+ for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
+ HSSFSheet sheet = workbook.getSheetAt(i);
+
+ Iterator rows = sheet.rowIterator();
+ while (rows.hasNext()) {
+ HSSFRow row = (HSSFRow) rows.next();
+
+ Iterator cells = row.cellIterator();
+ while (cells.hasNext()) {
+ HSSFCell cell = (HSSFCell) cells.next();
+ switch (cell.getCellType()) {
+ case HSSFCell.CELL_TYPE_NUMERIC:
+ String num = Double.toString(cell.getNumericCellValue()).trim();
+ if (num.length() > 0) {
+ writer.write(num + " ");
+ }
+ break;
+ case HSSFCell.CELL_TYPE_STRING:
+ String text = cell.getStringCellValue().trim();
+ if (text.length() > 0) {
+ writer.write(text + " ");
+ }
+ break;
+ }
}
- break;
}
}
+
+ delegate = new CharArrayReader(writer.toCharArray());
+ } finally {
+ in.close();
}
}
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new CharArrayReader(writer.toCharArray()));
- return result;
- }
- catch (IOException ex) {
- throw new RepositoryException(ex);
- }
- }
- else {
+ };
+
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
+ } else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
}
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsPowerPointTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsPowerPointTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsPowerPointTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsPowerPointTextFilter.java Thu May 25 17:20:14 2006
@@ -20,6 +20,7 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
@@ -99,22 +100,35 @@
InternalValue[] values = data.getValues();
if (values.length == 1) {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
- try {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- MsPowerPointListener listener = new MsPowerPointListener(baos);
- POIFSReader reader = new POIFSReader();
- reader.registerListener(listener);
- reader.read(blob.getStream());
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new InputStreamReader(
- new ByteArrayInputStream(baos.toByteArray())));
-
- return result;
- } catch (IOException ex) {
- throw new RepositoryException(ex);
- }
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+ try {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ MsPowerPointListener listener = new MsPowerPointListener(baos);
+ POIFSReader reader = new POIFSReader();
+ reader.registerListener(listener);
+ reader.read(in);
+
+ delegate = new InputStreamReader(
+ new ByteArrayInputStream(baos.toByteArray()));
+ } finally {
+ in.close();
+ }
+ }
+ };
+
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+
+ return result;
} else {
// multi value not supported
throw new RepositoryException(
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsWordTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsWordTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsWordTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/MsWordTextFilter.java Thu May 25 17:20:14 2006
@@ -16,6 +16,8 @@
package org.apache.jackrabbit.core.query;
import java.io.StringReader;
+import java.io.InputStream;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -51,26 +53,39 @@
* @throws RepositoryException if data is a multi-value property or it does not
* contain valid MS Word document.
*/
- public Map doFilter(PropertyState data, String encoding) throws RepositoryException {
+ public Map doFilter(PropertyState data, String encoding)
+ throws RepositoryException {
InternalValue[] values = data.getValues();
if (values.length > 0) {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
-
- try {
- WordExtractor extractor = new WordExtractor();
-
- // This throws raw Exception - not nice
- String text = extractor.extractText(blob.getStream());
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new StringReader(text));
- return result;
- }
- catch (Exception ex) {
- throw new RepositoryException(ex);
- }
- }
- else {
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+ try {
+ WordExtractor extractor = new WordExtractor();
+
+ // This throws raw Exception - not nice
+ String text = extractor.extractText(in);
+
+ delegate = new StringReader(text);
+ } catch (Exception e) {
+ throw new IOException(e.getMessage());
+ } finally {
+ in.close();
+ }
+ }
+ };
+
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
+ } else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
}
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/OpenOfficeTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/OpenOfficeTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/OpenOfficeTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/OpenOfficeTextFilter.java Thu May 25 17:20:14 2006
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.io.StringReader;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.ZipInputStream;
@@ -33,6 +34,7 @@
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
+import org.xml.sax.SAXException;
/**
* Extracts texts from OpenOffice document data.
@@ -51,39 +53,48 @@
public Map doFilter(PropertyState data, String encoding)
throws RepositoryException {
- ZipInputStream zis = null;
if (xmlReader == null) {
initParser();
}
InternalValue[] values = data.getValues();
if (values.length > 0) {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
- try {
- zis = new ZipInputStream(blob.getStream());
- ZipEntry ze = zis.getNextEntry();
- while (!ze.getName().equals("content.xml"))
- ze = zis.getNextEntry();
- OOoContentHandler contentHandler = new OOoContentHandler();
- xmlReader.setContentHandler(contentHandler);
- xmlReader.parse(new InputSource(zis));
- zis.close();
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new StringReader(contentHandler.getContent()));
- return result;
- } catch (Exception ex) {
- throw new RepositoryException(ex);
- } finally {
- if (zis != null) {
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ InputStream in;
try {
- zis.close();
- } catch (IOException ioe) {
- ioe.printStackTrace();
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+ try {
+ ZipInputStream zis = new ZipInputStream(in);
+ ZipEntry ze = zis.getNextEntry();
+ while (!ze.getName().equals("content.xml")) {
+ ze = zis.getNextEntry();
+ }
+ OOoContentHandler contentHandler = new OOoContentHandler();
+ xmlReader.setContentHandler(contentHandler);
+ try {
+ xmlReader.parse(new InputSource(zis));
+ } catch (SAXException e) {
+ throw new IOException(e.getMessage());
+ } finally {
+ zis.close();
+ }
+
+ delegate = new StringReader(contentHandler.getContent());
+ } finally {
+ in.close();
}
}
- }
+ };
+
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
} else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/PdfTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/PdfTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/PdfTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/PdfTextFilter.java Thu May 25 17:20:14 2006
@@ -18,6 +18,8 @@
import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
+import java.io.BufferedInputStream;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
@@ -56,32 +58,43 @@
public Map doFilter(PropertyState data, String encoding) throws RepositoryException {
InternalValue[] values = data.getValues();
if (values.length > 0) {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
-
- try {
- PDFParser parser = new PDFParser(blob.getStream());
- parser.parse();
-
- PDDocument document = parser.getPDDocument();
-
- CharArrayWriter writer = new CharArrayWriter();
-
- PDFTextStripper stripper = new PDFTextStripper();
- stripper.setLineSeparator("\n");
- stripper.writeText(document, writer);
-
- document.close();
- writer.close();
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new CharArrayReader(writer.toCharArray()));
- return result;
- }
- catch (IOException ex) {
- throw new RepositoryException(ex);
- }
- }
- else {
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ PDFParser parser;
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+
+ try {
+ parser = new PDFParser(new BufferedInputStream(in));
+ parser.parse();
+
+ PDDocument document = parser.getPDDocument();
+ try {
+ CharArrayWriter writer = new CharArrayWriter();
+
+ PDFTextStripper stripper = new PDFTextStripper();
+ stripper.setLineSeparator("\n");
+ stripper.writeText(document, writer);
+
+ delegate = new CharArrayReader(writer.toCharArray());
+ } finally {
+ document.close();
+ }
+ } finally {
+ in.close();
+ }
+ }
+ };
+
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
+ } else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
}
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/RTFTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/RTFTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/RTFTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/RTFTextFilter.java Thu May 25 17:20:14 2006
@@ -17,6 +17,7 @@
import java.io.IOException;
import java.io.StringReader;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
@@ -62,23 +63,31 @@
InternalValue[] values = data.getValues();
if (values.length > 0) {
- try {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
-
- doc.remove(0, doc.getLength());
- rek.read(blob.getStream(), doc, 0);
- String text = doc.getText(0, doc.getLength());
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new StringReader(text));
- return result;
- } catch (BadLocationException ble) {
- throw new RepositoryException(ble);
- } catch (IOException ioe) {
- throw new RepositoryException(ioe);
- } catch (IllegalStateException e) {
- throw new RepositoryException(e);
- }
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+ try {
+ doc.remove(0, doc.getLength());
+ rek.read(in, doc, 0);
+ String text = doc.getText(0, doc.getLength());
+ delegate = new StringReader(text);
+ } catch (BadLocationException e) {
+ throw new IOException(e.getMessage());
+ } finally {
+ in.close();
+ }
+ }
+ };
+
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
} else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
Modified: jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/XMLTextFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/XMLTextFilter.java?rev=409517&r1=409516&r2=409517&view=diff
==============================================================================
--- jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/XMLTextFilter.java (original)
+++ jackrabbit/branches/1.0/textfilters/src/java/org/apache/jackrabbit/core/query/XMLTextFilter.java Thu May 25 17:20:14 2006
@@ -73,22 +73,28 @@
InternalValue[] values = data.getValues();
if (values.length > 0) {
- try {
- try {
- BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
- parser.parse(blob.getStream());
- String text = parser.getContents();
-
- Map result = new HashMap();
- result.put(FieldNames.FULLTEXT, new StringReader(text));
- return result;
- } catch (IOException ioe) {
- throw new RepositoryException(ioe);
+ final BLOBFileValue blob = (BLOBFileValue) values[0].internalValue();
+ LazyReader reader = new LazyReader() {
+ protected void initializeReader() throws IOException {
+ InputStream in;
+ try {
+ in = blob.getStream();
+ } catch (RepositoryException e) {
+ throw new IOException(e.getMessage());
+ }
+ try {
+ parser.parse(in);
+ String text = parser.getContents();
+ delegate = new StringReader(text);
+ } finally {
+ in.close();
+ }
}
+ };
- } catch (IllegalStateException e) {
- throw new RepositoryException(e);
- }
+ Map result = new HashMap();
+ result.put(FieldNames.FULLTEXT, reader);
+ return result;
} else {
// multi value not supported
throw new RepositoryException("Multi-valued binary properties not supported.");
@@ -181,7 +187,7 @@
InputSource source = new InputSource(is);
xmlReader.parse(source);
} catch (SAXException se) {
- // ignore errors
+ throw new IOException(se.getMessage());
}
}