Author: davsclaus Date: Thu Feb 7 18:05:41 2013 New Revision: 1443635 URL: http://svn.apache.org/r1443635 Log: CAMEL-6048: camel-xmljson fixed issue so attrbiutes with name type can be serialized. Thanks to Arne M Stroksen for the patch.
Added: camel/branches/camel-2.10.x/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml - copied unchanged from r1443634, camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml Modified: camel/branches/camel-2.10.x/ (props changed) camel/branches/camel-2.10.x/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java camel/branches/camel-2.10.x/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1443634 Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.10.x/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java?rev=1443635&r1=1443634&r2=1443635&view=diff ============================================================================== --- camel/branches/camel-2.10.x/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java (original) +++ camel/branches/camel-2.10.x/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java Thu Feb 7 18:05:41 2013 @@ -120,6 +120,7 @@ public class XmlJsonDataFormat extends S } } else { serializer.setTypeHintsEnabled(false); + serializer.setTypeHintsCompatibility(false); } } Modified: camel/branches/camel-2.10.x/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java?rev=1443635&r1=1443634&r2=1443635&view=diff ============================================================================== --- camel/branches/camel-2.10.x/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java (original) +++ camel/branches/camel-2.10.x/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java Thu Feb 7 18:05:41 2013 @@ -54,6 +54,24 @@ public class XmlJsonOptionsTest extends } @Test + public void testXmlWithTypeAttributesToJSON() throws Exception { + InputStream inStream = getClass().getClassLoader().getResourceAsStream("org/apache/camel/dataformat/xmljson/testMessage4.xml"); + String in = context.getTypeConverter().convertTo(String.class, inStream); + + MockEndpoint mockJSON = getMockEndpoint("mock:json"); + mockJSON.expectedMessageCount(1); + mockJSON.message(0).body().isInstanceOf(byte[].class); + + Object json = template.requestBody("direct:marshal", in); + String jsonString = context.getTypeConverter().convertTo(String.class, json); + JSONObject obj = (JSONObject) JSONSerializer.toJSON(jsonString); + assertEquals("JSON must contain 1 top-level element", 1, obj.entrySet().size()); + assertTrue("Top-level element must be named root", obj.has("root")); + + mockJSON.assertIsSatisfied(); + } + + @Test public void testSomeOptionsToXML() throws Exception { InputStream inStream = getClass().getClassLoader().getResourceAsStream("org/apache/camel/dataformat/xmljson/testMessage1.json"); String in = context.getTypeConverter().convertTo(String.class, inStream);