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:05:41 UTC

svn commit: r1443635 - in /camel/branches/camel-2.10.x: ./ components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/ components/camel-xmljson/src/test/java/org/apache/camel/dataformat/xmljson/ components/camel-xmljson/src/test/resourc...

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