You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2010/01/27 19:12:35 UTC
svn commit: r903775 -
/lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
Author: jukka
Date: Wed Jan 27 18:12:35 2010
New Revision: 903775
URL: http://svn.apache.org/viewvc?rev=903775&view=rev
Log:
TIKA-374: AutoDetectParser not thread-safe
Make XmlRootExtractor thread-safe
Modified:
lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
Modified: lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java
URL: http://svn.apache.org/viewvc/lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java?rev=903775&r1=903774&r2=903775&view=diff
==============================================================================
--- lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java (original)
+++ lucene/tika/trunk/tika-core/src/main/java/org/apache/tika/detect/XmlRootExtractor.java Wed Jan 27 18:12:35 2010
@@ -38,11 +38,10 @@
*/
public class XmlRootExtractor {
- private final SAXParser parser;
+ private final SAXParserFactory factory;
public XmlRootExtractor() throws SAXException, ParserConfigurationException {
- SAXParserFactory factory = SAXParserFactory.newInstance();
-
+ factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(false);
try {
@@ -54,13 +53,12 @@
// are inherently vulnerable to XML denial-of-service attacks.
}
- this.parser = factory.newSAXParser();
}
public QName extractRootElement(byte[] data) {
ExtractorHandler handler = new ExtractorHandler();
try {
- parser.parse(
+ factory.newSAXParser().parse(
new ByteArrayInputStream(data),
new OfflineContentHandler(handler));
} catch (Exception ignore) {