CAMEL-6873 support the Exchange.CHARSET_NAME header in camel-gson, with thanks to Fergus
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/561c7864 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/561c7864 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/561c7864 Branch: refs/heads/camel-2.11.x Commit: 561c78640add46369038b442f5d0ce394324addb Parents: 36f18c9 Author: Willem Jiang <ningji...@apache.org> Authored: Mon Oct 21 12:29:49 2013 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Mon Oct 21 12:37:45 2013 +0800 ---------------------------------------------------------------------- .../java/org/apache/camel/component/gson/GsonDataFormat.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/561c7864/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java ---------------------------------------------------------------------- diff --git a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java index a5537e5..fc1a0d7 100644 --- a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java +++ b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java @@ -94,14 +94,14 @@ public class GsonDataFormat extends ServiceSupport implements DataFormat { @Override public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception { - BufferedWriter writer = IOHelper.buffered(new OutputStreamWriter(stream)); + BufferedWriter writer = IOHelper.buffered(new OutputStreamWriter(stream, IOHelper.getCharsetName(exchange))); gson.toJson(graph, writer); writer.close(); } @Override public Object unmarshal(Exchange exchange, InputStream stream) throws Exception { - BufferedReader reader = IOHelper.buffered(new InputStreamReader(stream)); + BufferedReader reader = IOHelper.buffered(new InputStreamReader(stream, IOHelper.getCharsetName(exchange))); Object result = gson.fromJson(reader, this.unmarshalType); reader.close(); return result;