You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2020/03/12 16:37:47 UTC

[cxf] branch 3.2.x-fixes updated (c5f18c0 -> f8d53cb)

This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a change to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git.


    from c5f18c0  CXF-8235 Handle null continuation in AsyncResponseImpl instead of throwing a NullPointerException (#649)
     new ed93ad0  CXF-8234 - Add the encoding to the TransformOutInterceptor XMLStreamWriter
     new f8d53cb  Recording .gitmergeinfo Changes

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitmergeinfo                                      |  7 ++++++
 .../transform/TransformOutInterceptor.java         | 23 +++++++++++++++++-
 .../cxf/staxutils/transform/TransformUtils.java    | 28 +++++++++++++++++++---
 .../org/apache/cxf/systest/jaxrs/BookStore.java    |  4 ++--
 4 files changed, 56 insertions(+), 6 deletions(-)


[cxf] 02/02: Recording .gitmergeinfo Changes

Posted by co...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit f8d53cbc9d1ab505682d93578f6657d8411c393e
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Thu Mar 12 15:49:21 2020 +0000

    Recording .gitmergeinfo Changes
---
 .gitmergeinfo | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.gitmergeinfo b/.gitmergeinfo
index a84f6bf..b6d7e37 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -133,6 +133,7 @@ B 27ad1dc1b3bf1aea132729ad930a5338fae3b8f9
 B 28a573c61367166ef250dece7b69b9370a089751
 B 28c4265fb0e9fcc2396b0e79c94772f57151c53d
 B 28dfeaacb1d6c584499c2303e8c4ff3158c1e0bf
+B 2923c9f6f96bfee85132ba32b3364652d959f9ee
 B 2958089f0520883ad9021ee383c9cc7c62ba04a6
 B 29a13e600ddbb75bde0278fa5b55983993c20794
 B 29e5bb404e6b44a643e9228712f495244ea275e2
@@ -181,6 +182,7 @@ B 36428ee52da64efb853f8cc9d249d3bfc89d17fb
 B 3657635f2f74ce3870c3aa299b1e8ad2aa2403c0
 B 3671c30616bec8e08f5970481cad77d5c17ef437
 B 3687dd4f8d0c3f176724c10ceb49412dbba860ee
+B 36aa9716829eb4770df73fa02cec3df639f760a2
 B 36fcf4dcf8c0a8e1bc34a314629cb38cef6734f2
 B 375e5e1db0de3a3bc4e4cc2907ff923cb8c13062
 B 37ba351c24398ec6d3082f3437005f98698829c7
@@ -361,6 +363,7 @@ B 67472c5a991966b35382bb68fda98f2238bc68a5
 B 67491a02dd7135947e091e67fde02b70c3a13b31
 B 675222439f1a9873ee7ffaa81f2301cec0664e4d
 B 6756c49b7b8d949c09fa98cc9c5725b90ed5370b
+B 675ffafd20b90a0424340c5bf0725e5450ec3937
 B 683cf282482bb740bb4995589a911e24db7c27c7
 B 686b6efab97d92d163c538b599889112faacbe83
 B 687dd36db702dd8a013d49c71fc4d3afe4323a0c
@@ -421,6 +424,7 @@ B 7d93913dd6d1b4ce5179a7f6330072602eafafde
 B 7ddc3cca73c010989f24c8ac58f2aebea9861cd0
 B 7e11da7a566a95adc64143c0575b7ef86e0fbe5a
 B 7e461b6a9cd713617090c989cc64eba267efcb49
+B 7e512fb562400fd98171b15d3f9e24e3cab9f42a
 B 7f17e03737171237c0b91f0af4d5adf5333fd68b
 B 7f2b714981d15869da0991cefb4a478ef27866f2
 B 7f5eae3a606c57eac5d01e102ea5d46fc2049eec
@@ -732,6 +736,7 @@ B e16591f0baf41b7a13f87f960642b8c3a33b16d3
 B e23579d37e839b479ab723f8c1bb9d7b6146ed10
 B e3761516185bcf6c42d643c97e585391b74c68b2
 B e380008a4a775ef3afbec0eb7c8570777234b0d3
+B e39ee0a99e53f3778e08cb9f3d86daf32030cb51
 B e3aa32f540d47685165f191ca02fc203452bd5b2
 B e3aee2313300215ca11b2611ebe9baa15375baeb
 B e438cd4745c2e08997af62c2958e2d079608a0da
@@ -926,6 +931,7 @@ M 91260c6d9b1404452e8e91ac87e42d2f771d997e
 M 91f78e0d11ac47b7708c0bf9689d48b83a3da58a
 M 9204b49a2267a913d9fb318edede05415fb20c7a
 M 961227f92b14856e5477f8f209ad9ced340c56ce
+M 9853d0932fbfcb3753a01d8604d27ce4678c892c
 M 98ec361acd390483005de12ca3b10cf49cbdcf8a
 M 99028cc48e200ea0c36fe2bee87bf813e513a513
 M 9a2f1212cd7031c8447ae4294c4c4ccc7322d9e5
@@ -975,6 +981,7 @@ M eadcdb008e115db7bb8e0664c20417eb7c4f0dfc
 M eb0855b8613823682cf267e1de457b8670be9b7b
 M eda37b0df9af9df3df8378c744900b75cbbac6e5
 M ee94d2d2d5a39836ef94f74892ccec2212411e6a
+M eeae6cde0faedd144a8cb5bdcd21326f7dc6056b
 M efb2c3082fe8799a9d90a696e31239551b4f1823
 M f09ae1ed3bbc88a6d7860697dd65821fd9958d99
 M f6bb4090926baa935dba14b655441e79bdabccdd


[cxf] 01/02: CXF-8234 - Add the encoding to the TransformOutInterceptor XMLStreamWriter

Posted by co...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

coheigea pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit ed93ad01f3ae3214b0ab1ff913bd3f9272ceb567
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Wed Mar 11 14:18:54 2020 +0000

    CXF-8234 - Add the encoding to the TransformOutInterceptor XMLStreamWriter
    
    (cherry picked from commit 36111759cd4534a395750eb5b17ebfec3c60287d)
    (cherry picked from commit eeae6cde0faedd144a8cb5bdcd21326f7dc6056b)
    
    # Conflicts:
    #	core/src/main/java/org/apache/cxf/staxutils/transform/TransformUtils.java
    #	systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
---
 .../transform/TransformOutInterceptor.java         | 23 +++++++++++++++++-
 .../cxf/staxutils/transform/TransformUtils.java    | 28 +++++++++++++++++++---
 .../org/apache/cxf/systest/jaxrs/BookStore.java    |  4 ++--
 3 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/core/src/main/java/org/apache/cxf/interceptor/transform/TransformOutInterceptor.java b/core/src/main/java/org/apache/cxf/interceptor/transform/TransformOutInterceptor.java
index 505c3d1..ba3a242 100644
--- a/core/src/main/java/org/apache/cxf/interceptor/transform/TransformOutInterceptor.java
+++ b/core/src/main/java/org/apache/cxf/interceptor/transform/TransformOutInterceptor.java
@@ -21,6 +21,7 @@ package org.apache.cxf.interceptor.transform;
 
 
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Map;
 
@@ -28,10 +29,12 @@ import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.cxf.interceptor.StaxOutEndingInterceptor;
 import org.apache.cxf.interceptor.StaxOutInterceptor;
+import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageUtils;
 import org.apache.cxf.phase.AbstractPhaseInterceptor;
 import org.apache.cxf.phase.Phase;
+import org.apache.cxf.phase.PhaseInterceptorChain;
 import org.apache.cxf.staxutils.transform.TransformUtils;
 
 import static org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.DISABLE_OUTPUTSTREAM_OPTIMIZATION;
@@ -109,14 +112,32 @@ public class TransformOutInterceptor extends AbstractPhaseInterceptor<Message> {
         }
     }
 
+    private String getEncoding(Message message) {
+        Exchange ex = message.getExchange();
+        String encoding = (String)message.get(Message.ENCODING);
+        if (encoding == null && ex.getInMessage() != null) {
+            encoding = (String) ex.getInMessage().get(Message.ENCODING);
+            message.put(Message.ENCODING, encoding);
+        }
+
+        if (encoding == null) {
+            encoding = StandardCharsets.UTF_8.name();
+            message.put(Message.ENCODING, encoding);
+        }
+        return encoding;
+    }
+
     protected XMLStreamWriter createTransformWriterIfNeeded(XMLStreamWriter writer, OutputStream os) {
+        Message m = PhaseInterceptorChain.getCurrentMessage();
+        String encoding = getEncoding(m);
         return TransformUtils.createTransformWriterIfNeeded(writer, os,
                                                       outElementsMap,
                                                       outDropElements,
                                                       outAppendMap,
                                                       outAttributesMap,
                                                       attributesToElements,
-                                                      defaultNamespace);
+                                                      defaultNamespace,
+                                                      encoding);
     }
 
     public void setOutTransformElements(Map<String, String> outElements) {
diff --git a/core/src/main/java/org/apache/cxf/staxutils/transform/TransformUtils.java b/core/src/main/java/org/apache/cxf/staxutils/transform/TransformUtils.java
index 49d9aca..642c5d4 100644
--- a/core/src/main/java/org/apache/cxf/staxutils/transform/TransformUtils.java
+++ b/core/src/main/java/org/apache/cxf/staxutils/transform/TransformUtils.java
@@ -43,7 +43,16 @@ public final class TransformUtils {
     }
 
     public static XMLStreamWriter createNewWriterIfNeeded(XMLStreamWriter writer, OutputStream os) {
-        return writer == null ? StaxUtils.createXMLStreamWriter(os) : writer;
+        return createNewWriterIfNeeded(writer, os, null);
+    }
+
+    public static XMLStreamWriter createNewWriterIfNeeded(XMLStreamWriter writer, OutputStream os, String encoding) {
+        if (writer != null) {
+            return writer;
+        } else if (encoding != null) {
+            return StaxUtils.createXMLStreamWriter(os, encoding);
+        }
+        return StaxUtils.createXMLStreamWriter(os);
     }
 
     public static XMLStreamWriter createTransformWriterIfNeeded(XMLStreamWriter writer,
@@ -71,10 +80,23 @@ public final class TransformUtils {
                                                                 Map<String, String> outAttributesMap,
                                                                 boolean attributesToElements,
                                                                 String defaultNamespace) {
+        return createTransformWriterIfNeeded(writer, os, outElementsMap, outDropElements,
+                                             outAppendMap, outAttributesMap, attributesToElements,
+                                             defaultNamespace, null);
+    }
+
+    public static XMLStreamWriter createTransformWriterIfNeeded(XMLStreamWriter writer,
+                                                                OutputStream os,
+                                                                Map<String, String> outElementsMap,
+                                                                List<String> outDropElements,
+                                                                Map<String, String> outAppendMap,
+                                                                Map<String, String> outAttributesMap,
+                                                                boolean attributesToElements,
+                                                                String defaultNamespace,
+                                                                String encoding) {
         if (outElementsMap != null || outDropElements != null
             || outAppendMap != null || attributesToElements) {
-            writer = createNewWriterIfNeeded(writer, os);
-            writer = new OutTransformWriter(writer, outElementsMap, outAppendMap,
+            writer = new OutTransformWriter(createNewWriterIfNeeded(writer, os, encoding), outElementsMap, outAppendMap,
                                             outDropElements, outAttributesMap, attributesToElements, defaultNamespace);
         }
         return writer;
diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
index a536a80..5aa6ac9 100644
--- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
+++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
@@ -1501,7 +1501,8 @@ public class BookStore {
         String ct1 = httpHeaders.getMediaType().toString();
         String ct2 = httpHeaders.getRequestHeader("Content-Type").get(0);
         String ct3 = httpHeaders.getRequestHeaders().getFirst("Content-Type");
-        if (!("application/xml".equals(ct1) && ct1.equals(ct2) && ct1.equals(ct3))) {
+        if (!(ct1.startsWith("application/xml") && ct2.startsWith("application/xml")
+            && ct3.startsWith("application/xml"))) {
             throw new RuntimeException("Unexpected content type");
         }
 
@@ -1696,7 +1697,6 @@ public class BookStore {
         return Response.accepted(name).build();
     }
 
-
     @GET
     @Path("/cd/{CDId}/")
     public CD getCD() {