Author: davsclaus
Date: Fri Feb 18 06:57:40 2011
New Revision: 1071901

URL: http://svn.apache.org/viewvc?rev=1071901&view=rev
Log:
CAMEL-3681: Added byte[] to DOMSource converter.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java?rev=1071901&r1=1071900&r2=1071901&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
 Fri Feb 18 06:57:40 2011
@@ -54,6 +54,7 @@ import org.xml.sax.XMLReader;
 
 import org.apache.camel.Converter;
 import org.apache.camel.Exchange;
+import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 
 /**
@@ -286,7 +287,21 @@ public class XmlConverter {
         }
     }
 
-    
+    /**
+     * Converts the source instance to a {@link DOMSource} or returns null if 
the conversion is not
+     * supported (making it easy to derive from this class to add new kinds of 
conversion).
+     */
+    @Converter
+    public DOMSource toDOMSource(byte[] bytes) throws IOException, 
SAXException, ParserConfigurationException {
+        InputStream is = new ByteArrayInputStream(bytes);
+        try {
+            return toDOMSource(is);
+        } finally {
+            IOHelper.close(is);
+        }
+    }
+
+
     /**
      * Converts the source instance to a {@link SAXSource} or returns null if 
the conversion is not
      * supported (making it easy to derive from this class to add new kinds of 
conversion).

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java?rev=1071901&r1=1071900&r2=1071901&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/converter/jaxp/XmlConverterTest.java
 Fri Feb 18 06:57:40 2011
@@ -116,6 +116,17 @@ public class XmlConverterTest extends Co
         assertSame(source, out);
     }
 
+    public void testToDomSourceByByteArray() throws Exception {
+        XmlConverter conv = new XmlConverter();
+
+        byte[] bytes = "<foo>bar</foo>".getBytes();
+        DOMSource source = conv.toDOMSource(bytes);
+        assertNotNull(source);
+
+        byte[] out = conv.toByteArray(source, null);
+        assertEquals(new String(bytes), new String(out));
+    }
+
     public void testToDomSourceByStaxSource() throws Exception {
         XmlConverter conv = new XmlConverter();
 


Reply via email to