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