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);
}