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


Reply via email to