You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/02/07 19:04:41 UTC

svn commit: r1443634 - in /camel/trunk/components/camel-xmljson/src: main/java/org/apache/camel/dataformat/xmljson/ test/java/org/apache/camel/dataformat/xmljson/ test/resources/org/apache/camel/dataformat/xmljson/

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