You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by bu...@apache.org on 2002/03/05 14:07:37 UTC
DO NOT REPLY [Bug 6877] New: -
Reusing JaxpParser causes problems
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6877>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6877
Reusing JaxpParser causes problems
Summary: Reusing JaxpParser causes problems
Product: Avalon
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: Critical
Priority: Other
Component: Excalibur
AssignedTo: avalon-dev@jakarta.apache.org
ReportedBy: dims@yahoo.com
Xerces does not clear the LexicalHandler for resuing this parser instance the
next time around. We need to clean it up ourselves. Here's a patch.
Thanks,
dims
Index: src/java/org/apache/avalon/excalibur/xml/JaxpParser.java
===================================================================
RCS file: /home/cvspublic/jakarta-avalon-
excalibur/src/java/org/apache/avalon/excalibur/xml/JaxpParser.java,v
retrieving revision 1.1
diff -d -u -b -B -w -u -r1.1 JaxpParser.java
--- src/java/org/apache/avalon/excalibur/xml/JaxpParser.java 15 Feb 2002
10:57:39 -0000 1.1
+++ src/java/org/apache/avalon/excalibur/xml/JaxpParser.java 5 Mar 2002
13:02:56 -0000
@@ -251,6 +251,7 @@
{
this.getLogger().warn("SAX2 driver does not support property: "+
"'http://xml.org/sax/properties/lexical-
handler'");
+ lexicalHandler = null;
}
tmpReader.setErrorHandler( this );
@@ -264,8 +265,14 @@
tmpReader.parse(in);
// Here, parsing was successful : restore this.reader
- if ( this.reuseParsers )
+ if ( this.reuseParsers ) {
this.reader = tmpReader;
+ // Reset the Lexical Handler to null, so that we can reuse the
parser
+ if(lexicalHandler != null) {
+ tmpReader.setProperty("http://xml.org/sax/properties/lexical-
handler",
+ null);
+ }
+ }
}
/**
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>