From 6d1f902ae4261a1cfd402278c6666aebf43674b6 Mon Sep 17 00:00:00 2001 From: David Daney Date: Fri, 13 Mar 2009 23:38:45 -0700 Subject: [PATCH 3/7] * javax/xml/parsers/DocumentBuilderFactory.java (newInstance): Create gnu.xml.dom.DomDocumentBuilderFactory indirectly. * javax/xml/parsers/SAXParserFactory.java (newInstance): Create gnu.xml.stream.SAXParserFactory indirectly. --- .../javax/xml/parsers/DocumentBuilderFactory.java | 12 +++++++++++- .../javax/xml/parsers/SAXParserFactory.java | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java b/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java index 9312e65..5dbf154 100644 --- a/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java +++ b/libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java @@ -115,7 +115,17 @@ public abstract class DocumentBuilderFactory } } while (className == null && count < 3); - return new gnu.xml.dom.DomDocumentBuilderFactory(); + try + { + Class t = Class.forName("gnu.xml.dom.DomDocumentBuilderFactory"); + return (DocumentBuilderFactory) t.newInstance(); + } + catch (Exception e) + { + throw new FactoryConfigurationError(e, + "error instantiating class gnu.xml.dom.DomDocumentBuilderFactory"); + } + // return new gnu.xml.dom.DomDocumentBuilderFactory(); } private static String getFactoryClassName(ClassLoader loader, int attempt) diff --git a/libjava/classpath/javax/xml/parsers/SAXParserFactory.java b/libjava/classpath/javax/xml/parsers/SAXParserFactory.java index 549fe4b..52e2274 100644 --- a/libjava/classpath/javax/xml/parsers/SAXParserFactory.java +++ b/libjava/classpath/javax/xml/parsers/SAXParserFactory.java @@ -115,7 +115,17 @@ public abstract class SAXParserFactory } } while (className == null && count < 3); - return new gnu.xml.stream.SAXParserFactory(); + try + { + Class t = Class.forName("gnu.xml.stream.SAXParserFactory"); + return (SAXParserFactory) t.newInstance(); + } + catch (Exception e) + { + throw new FactoryConfigurationError(e, + "error instantiating class gnu.xml.stream.SAXParserFactory"); + } + // return new gnu.xml.stream.SAXParserFactory(); } private static String getFactoryClassName(ClassLoader loader, int attempt) -- 1.6.0.6