You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/01/04 21:44:04 UTC

svn commit: r608993 - in /incubator/cxf/branches/2.0.x-fixes: ./ common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java

Author: dkulp
Date: Fri Jan  4 12:44:02 2008
New Revision: 608993

URL: http://svn.apache.org/viewvc?rev=608993&view=rev
Log:
Merged revisions 608369 via svnmerge from 
https://svn.apache.org/repos/asf/incubator/cxf/trunk

........
  r608369 | ffang | 2008-01-03 02:42:20 -0500 (Thu, 03 Jan 2008) | 1 line
  
  [CXF-1351] static DocumentBuilderFactory in XMLUtils cause ClassCastException when use different classloader
........

Modified:
    incubator/cxf/branches/2.0.x-fixes/   (props changed)
    incubator/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java

Propchange: incubator/cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: incubator/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java
URL: http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java?rev=608993&r1=608992&r2=608993&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java (original)
+++ incubator/cxf/branches/2.0.x-fixes/common/common/src/main/java/org/apache/cxf/helpers/XMLUtils.java Fri Jan  4 12:44:02 2008
@@ -88,6 +88,13 @@
     }
 
     public static DocumentBuilder getParser() throws ParserConfigurationException {
+        if (parserFactory.getClass().getClassLoader() != null 
+            && !parserFactory.getClass().getClassLoader().equals(
+                Thread.currentThread().getContextClassLoader())) {
+            //not the same classloader which init parserFactory, so create parserFactory with new classLoader
+            parserFactory = DocumentBuilderFactory.newInstance();
+            parserFactory.setNamespaceAware(true);
+        }
         return parserFactory.newDocumentBuilder();
     }