You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2012/04/17 22:08:39 UTC

svn commit: r1327267 - in /cxf/branches/2.5.x-fixes: ./ common/common/src/main/java/org/apache/cxf/staxutils/transform/ common/common/src/test/java/org/apache/cxf/staxutils/transform/ rt/core/src/main/java/org/apache/cxf/feature/

Author: ay
Date: Tue Apr 17 20:08:38 2012
New Revision: 1327267

URL: http://svn.apache.org/viewvc?rev=1327267&view=rev
Log:
Merged revisions 1327243 via  svn merge from
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1327243 | ay | 2012-04-17 21:49:30 +0200 (Tue, 17 Apr 2012) | 1 line
  
  [CXF-4244] OutTransformWriter's defaultNamespace setting may not replace all default namespace declarations
........

Modified:
    cxf/branches/2.5.x-fixes/   (props changed)
    cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/transform/OutTransformWriter.java
    cxf/branches/2.5.x-fixes/common/common/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java
    cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/feature/StaxTransformFeature.java

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

Modified: cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/transform/OutTransformWriter.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/transform/OutTransformWriter.java?rev=1327267&r1=1327266&r2=1327267&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/transform/OutTransformWriter.java (original)
+++ cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/staxutils/transform/OutTransformWriter.java Tue Apr 17 20:08:38 2012
@@ -119,7 +119,8 @@ public class OutTransformWriter extends 
             return;
         }
         String value = nsMap.get(uri);
-        if (value != null && value.length() == 0) {
+        if ((value != null && value.length() == 0) 
+            || (isDefaultNamespaceRedefined() && !isDefaultNamespaceRedefined(uri))) {
             return;
         }
         
@@ -139,7 +140,8 @@ public class OutTransformWriter extends 
             return;
         }
         String value = nsMap.get(uri);
-        if (value != null && value.length() == 0) {
+        if ((value != null && value.length() == 0)
+            || (isDefaultNamespaceRedefined() && !isDefaultNamespaceRedefined(uri))) {
             return;
         }
         

Modified: cxf/branches/2.5.x-fixes/common/common/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/common/common/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java?rev=1327267&r1=1327266&r2=1327267&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/common/common/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java (original)
+++ cxf/branches/2.5.x-fixes/common/common/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java Tue Apr 17 20:08:38 2012
@@ -416,4 +416,25 @@ public class OutTransformWriterTest exte
                                                      "../resources/multiNS.xml",
                                   transformElements, null, null, null, null);
     }
+
+    @Test
+    public void testReplaceDefaultNamespace() throws Exception {
+        InputStream is = new ByteArrayInputStream(
+                "<test xmlns=\"http://bar\"><a>1</a></test>".getBytes());
+
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        XMLStreamWriter writer = 
+            new OutTransformWriter(StaxUtils.createXMLStreamWriter(os, "UTF-8"), 
+                                   null, null, null, null, false, "");
+        StaxUtils.copy(new StreamSource(is), writer);
+        writer.flush();
+
+        XMLStreamReader reader = StaxUtils.createXMLStreamReader(new ByteArrayInputStream(os.toByteArray()));
+
+        ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
+        StaxUtils.copy(reader, bos);
+        String value = bos.toString();
+        assertEquals("<ps1:test xmlns:ps1=\"http://bar\"><ps1:a>1</ps1:a></ps1:test>", value);        
+    }
+
 }

Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/feature/StaxTransformFeature.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/feature/StaxTransformFeature.java?rev=1327267&r1=1327266&r2=1327267&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/feature/StaxTransformFeature.java (original)
+++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/feature/StaxTransformFeature.java Tue Apr 17 20:08:38 2012
@@ -84,6 +84,10 @@ public class StaxTransformFeature extend
         in.setInTransformElements(inElements);
     }
     
+    public void setOutDefaultNamespace(String ns) {
+        out.setDefaultNamespace(ns);
+    }
+    
     public void setContextPropertyName(String propertyName) {
         in.setContextPropertyName(propertyName);
         out.setContextPropertyName(propertyName);