[jdom-commits] CVS update: jdom/src/java/org/jdom/input

jhunter at cvs.jdom.org jhunter at cvs.jdom.org
Sun Nov 4 23:58:48 PST 2001


Date:	Monday November 5, 2001 @ 7:58
Author:	jhunter

Update of /home/cvspublic/jdom/src/java/org/jdom/input
In directory www.nmemonix.com:/tmp/cvs-serv12672

Modified Files:
	SAXBuilder.java 
Log Message:
Fixed bug where SAXBuilder would cache the class name even when using
JAXP to create the parser, causing problems for parsers without no-arg
constructors.  

Says Laurent Bihanic <laurent.bihanic at atosorigin.com> responding to a 
bug report from Alastair Rodgers <alastair.rodgers at PHOCIS.COM>:

 This is actually a known problem in SAXBuilder: On the first call to 
 createParser (via build), SAXBuilder caches the class name of the SAX parser, 
 even when JAXP was used to create the parser instance:
 462              saxDriverClass = parser.getClass().getName();

 If you try to reuse a SAXBuilder instance, it will not longer use JAXP to 
 create the parser but will use:
          if (saxDriverClass != null) {
              // The user knows that they want to use a particular class
              parser = XMLReaderFactory.createXMLReader(saxDriverClass);
              // System.out.println("using specific " + saxDriverClass);
          } else {

 In this case, BEA are not wrong: they just have no no-args public contructor 
 for their parser, which makes it inedible by XMLReaderFactory.

 This issue has already been discussed on this list but no changes were made to 
 SAXBuilder (but I don't remember why!). So, my fix is just to comment out the 
 line "saxDriverClass = ..." in the JAXP part of createParser every time I get 
 a new JDOM version.


-jh-

===================================================================
File: no file SAXBuilder.java		Status: Needs Checkout

   Working revision:	1.59	Mon Nov  5 07:58:48 2001
   Repository revision:	1.59	/home/cvspublic/jdom/src/java/org/jdom/input/SAXBuilder.java,v

   Existing Tags:
	jdom_1_0_b7              	(revision: 1.53)
	jdom_1_0_b6              	(revision: 1.34)
	start                    	(revision: 1.1.1.1)
	jdom                     	(branch: 1.1.1)




More information about the jdom-commits mailing list