javax.xml.parsers.DocumentBuilderFactory looks first at the ContextClassLoader 
then Class.forName, but SchemaFactoryFinder does not
-----------------------------------------------------------------------------------------------------------------------------------

                 Key: XERCESJ-1420
                 URL: https://issues.apache.org/jira/browse/XERCESJ-1420
             Project: Xerces2-J
          Issue Type: Bug
          Components: JAXP (javax.xml.validation)
    Affects Versions: 2.9.1
            Reporter: Andy Piper
             Fix For: 2.9.1


javax.xml.parsers.DocumentBuilderFactory looks first at the ContextClassLoader 
then Class.forName, but SchemaFactoryFinder does not. This causes problems on 
OSGi systems and it seems that the two strategies should be consistent. Here is 
the patch I used. 

diff -rc tmp/javax/xml/validation/SchemaFactoryFinder.java xml-commons-external-
1.4.01/javax/xml/validation/SchemaFactoryFinder.java
*** tmp/javax/xml/validation/SchemaFactoryFinder.java   2009-02-16 00:09:32.0000
00000 +0000
--- xml-commons-external-1.4.01/javax/xml/validation/SchemaFactoryFinder.java201
0-01-19 12:35:17.685540400 +0000
***************
*** 301,307 ****
              if (debug) debugPrintln("instanciating "+className);
              Class clazz;
              if( classLoader!=null )
!                 clazz = classLoader.loadClass(className);
              else
                  clazz = Class.forName(className);
              if(debug)       debugPrintln("loaded it from "+which(clazz));
--- 301,313 ----
              if (debug) debugPrintln("instanciating "+className);
              Class clazz;
              if( classLoader!=null )
!                 try {
!                     clazz = classLoader.loadClass(className);
!                 }
!                 catch (ClassNotFoundException cnfe) {
!                     // fallback
!                     clazz = Class.forName(className);
!                 }
              else
                  clazz = Class.forName(className);
              if(debug)       debugPrintln("loaded it from "+which(clazz));

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to