You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2013/10/25 06:56:50 UTC

[2/2] git commit: CAMEL-6895 Supported to set the camel-xmljson Encoding from the message header

CAMEL-6895 Supported to set the camel-xmljson Encoding from the message header


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e7e62e2c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e7e62e2c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e7e62e2c

Branch: refs/heads/camel-2.11.x
Commit: e7e62e2c6c476a728a009c9d4238e3a88bf888ed
Parents: 6780b7d
Author: Willem Jiang <ni...@apache.org>
Authored: Fri Oct 25 12:38:30 2013 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Fri Oct 25 12:56:26 2013 +0800

----------------------------------------------------------------------
 .../apache/camel/dataformat/xmljson/XmlJsonDataFormat.java  | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e7e62e2c/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java
index 1120d73..f68c60b 100644
--- a/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java
+++ b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java
@@ -31,6 +31,7 @@ import net.sf.json.xml.XMLSerializer;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.support.ServiceSupport;
+import org.apache.camel.util.IOHelper;
 
 /**
  * A <a href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat}) using 
@@ -136,10 +137,10 @@ public class XmlJsonDataFormat extends ServiceSupport implements DataFormat {
     public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception {
         boolean streamTreatment = true;
         // try to process as an InputStream if it's not a String
-        Object xml = graph instanceof String ? null : exchange.getContext().getTypeConverter().convertTo(InputStream.class, graph);
+        Object xml = graph instanceof String ? null : exchange.getContext().getTypeConverter().convertTo(InputStream.class, exchange, graph);
         // if conversion to InputStream was unfeasible, fall back to String
         if (xml == null) {
-            xml = exchange.getContext().getTypeConverter().mandatoryConvertTo(String.class, graph);
+            xml = exchange.getContext().getTypeConverter().mandatoryConvertTo(String.class, exchange, graph);
             streamTreatment = false;
         }
 
@@ -151,7 +152,7 @@ public class XmlJsonDataFormat extends ServiceSupport implements DataFormat {
             json = serializer.read((String) xml);
         }
 
-        OutputStreamWriter osw = new OutputStreamWriter(stream);
+        OutputStreamWriter osw = new OutputStreamWriter(stream, IOHelper.getCharsetName(exchange));
         json.write(osw);
         osw.flush();
 
@@ -169,7 +170,7 @@ public class XmlJsonDataFormat extends ServiceSupport implements DataFormat {
         if (inBody instanceof JSON) {
             toConvert = (JSON) inBody;
         } else {
-            String jsonString = exchange.getContext().getTypeConverter().convertTo(String.class, inBody);
+            String jsonString = exchange.getContext().getTypeConverter().convertTo(String.class, exchange, inBody);
             toConvert = JSONSerializer.toJSON(jsonString);
         }