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 2012/03/23 18:28:24 UTC

svn commit: r1304514 - in /cxf/branches/2.3.x-fixes: ./ common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java

Author: dkulp
Date: Fri Mar 23 17:28:24 2012
New Revision: 1304514

URL: http://svn.apache.org/viewvc?rev=1304514&view=rev
Log:
Merged revisions 1303078 via  svn merge from
https://svn.us.apache.org/repos/asf/cxf/branches/2.4.x-fixes

........
  r1303078 | dkulp | 2012-03-20 14:37:24 -0400 (Tue, 20 Mar 2012) | 17 lines
  
  Merged revisions 1303011 via  svn merge from
  https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
  
  ........
    r1303011 | dkulp | 2012-03-20 13:14:31 -0400 (Tue, 20 Mar 2012) | 9 lines
    
    Merged revisions 1302997 via  git cherry-pick from
    https://svn.apache.org/repos/asf/cxf/trunk
    
    ........
      r1302997 | dkulp | 2012-03-20 13:01:42 -0400 (Tue, 20 Mar 2012) | 2 lines
    
      [CXF-4183] Use our own DOM writer to avoid issues with Sun's.
    
    ........
  ........
  
........

Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    cxf/branches/2.3.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java

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

Modified: cxf/branches/2.3.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java?rev=1304514&r1=1304513&r2=1304514&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java (original)
+++ cxf/branches/2.3.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java Fri Mar 23 17:28:24 2012
@@ -52,6 +52,7 @@ import javax.xml.stream.events.StartElem
 import javax.xml.stream.events.XMLEvent;
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
 import javax.xml.transform.stream.StreamSource;
@@ -247,6 +248,19 @@ public final class StaxUtils {
     }
     
     public static XMLStreamWriter createXMLStreamWriter(Result r) {
+        if (r instanceof DOMResult) {
+            //use our own DOM writer to avoid issues with Sun's 
+            //version that doesn't support getNamespaceContext
+            DOMResult dr = (DOMResult)r;
+            Node nd = dr.getNode();
+            if (nd instanceof Document) {
+                return new W3CDOMStreamWriter((Document)nd);
+            } else if (nd instanceof Element) {
+                return new W3CDOMStreamWriter((Element)nd);
+            } else if (nd instanceof DocumentFragment) {
+                return new W3CDOMStreamWriter((DocumentFragment)nd);
+            }
+        }
         XMLOutputFactory factory = getXMLOutputFactory();
         try {
             return factory.createXMLStreamWriter(r);