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);


Reply via email to