Author: davsclaus Date: Thu Feb 7 18:04:41 2013 New Revision: 1443634 URL: http://svn.apache.org/r1443634 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/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml (with props) Modified: camel/trunk/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java camel/trunk/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java Modified: camel/trunk/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java?rev=1443634&r1=1443633&r2=1443634&view=diff ============================================================================== --- camel/trunk/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java (original) +++ camel/trunk/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/XmlJsonDataFormat.java Thu Feb 7 18:04:41 2013 @@ -120,6 +120,7 @@ public class XmlJsonDataFormat extends S } } else { serializer.setTypeHintsEnabled(false); + serializer.setTypeHintsCompatibility(false); } } Modified: camel/trunk/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java?rev=1443634&r1=1443633&r2=1443634&view=diff ============================================================================== --- camel/trunk/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java (original) +++ camel/trunk/components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/XmlJsonOptionsTest.java Thu Feb 7 18:04: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); Added: camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml?rev=1443634&view=auto ============================================================================== --- camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml (added) +++ camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml Thu Feb 7 18:04:41 2013 @@ -0,0 +1,16 @@ +<root type="atype"> + <a>1</a> + <b>2</b> + <c type="anothertype"> + <a>c.a.1</a> + <b>c.b.2</b> + </c> + <d>a</d> + <d>b</d> + <d>c</d> + <e>1</e> + <e>2</e> + <e>3</e> + <f>true</f> + <g /> +</root> \ No newline at end of file Propchange: camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: camel/trunk/components/camel-xmljson/src/test/resources/org/apache/camel/dataformat/xmljson/testMessage4.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml