Author: davsclaus Date: Tue Mar 3 08:15:15 2009 New Revision: 749561 URL: http://svn.apache.org/viewvc?rev=749561&view=rev Log: CAMEL-588: Removed package dependency and using the type converter API to find the right converter instead of direct usage.
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java?rev=749561&r1=749560&r2=749561&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java Tue Mar 3 08:15:15 2009 @@ -27,11 +27,10 @@ import javax.xml.transform.stream.StreamSource; import org.apache.camel.Converter; +import org.apache.camel.Exchange; import org.apache.camel.StreamCache; -import org.apache.camel.converter.IOConverter; import org.apache.camel.converter.jaxp.BytesSource; import org.apache.camel.converter.jaxp.StringSource; -import org.apache.camel.converter.jaxp.XmlConverter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -43,11 +42,9 @@ public class StreamCacheConverter { private static final transient Log LOG = LogFactory.getLog(StreamCacheConverter.class); - private XmlConverter converter = new XmlConverter(); - @Converter - public StreamCache convertToStreamCache(StreamSource source) throws IOException { - return new StreamSourceCache(source); + public StreamCache convertToStreamCache(StreamSource source, Exchange exchange) throws IOException { + return new StreamSourceCache(source, exchange); } @Converter @@ -63,18 +60,21 @@ } @Converter - public StreamCache convertToStreamCache(SAXSource source) throws TransformerException { - return new SourceCache(converter.toString(source)); + public StreamCache convertToStreamCache(SAXSource source, Exchange exchange) throws TransformerException { + String data = exchange.getContext().getTypeConverter().convertTo(String.class, source); + return new SourceCache(data); } @Converter - public StreamCache convertToStreamCache(InputStream stream) throws IOException { - return new InputStreamCache(IOConverter.toBytes(stream)); + public StreamCache convertToStreamCache(InputStream stream, Exchange exchange) throws IOException { + byte[] bytes = exchange.getContext().getTypeConverter().convertTo(byte[].class, stream); + return new InputStreamCache(bytes); } @Converter - public StreamCache convertToStreamCache(Reader reader) throws IOException { - return new ReaderCache(IOConverter.toString(reader)); + public StreamCache convertToStreamCache(Reader reader, Exchange exchange) throws IOException { + String data = exchange.getContext().getTypeConverter().convertTo(String.class, reader); + return new ReaderCache(data); } /* @@ -104,17 +104,20 @@ InputStreamCache inputStreamCache; ReaderCache readCache; - public StreamSourceCache(StreamSource source) throws IOException { + public StreamSourceCache(StreamSource source, Exchange exchange) throws IOException { if (source.getInputStream() != null) { - inputStreamCache = new InputStreamCache(IOConverter.toBytes(source.getInputStream())); + byte[] bytes = exchange.getContext().getTypeConverter().convertTo(byte[].class, source.getInputStream()); + inputStreamCache = new InputStreamCache(bytes); setInputStream(inputStreamCache); setSystemId(source.getSystemId()); } if (source.getReader() != null) { - readCache = new ReaderCache(IOConverter.toString(source.getReader())); + String data = exchange.getContext().getTypeConverter().convertTo(String.class, source.getReader()); + readCache = new ReaderCache(data); setReader(readCache); } } + public void reset() { if (inputStreamCache != null) { inputStreamCache.reset(); @@ -144,7 +147,7 @@ try { super.reset(); } catch (IOException e) { - LOG.warn("Exception is thrown when resets the ReaderCache", e); + LOG.warn("Cannot reset cache", e); } } Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java?rev=749561&r1=749560&r2=749561&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/converter/stream/StreamCacheConverterTest.java Tue Mar 3 08:15:15 2009 @@ -16,35 +16,36 @@ */ package org.apache.camel.converter.stream; -import java.io.FileNotFoundException; -import java.io.IOException; import java.io.InputStream; import javax.xml.transform.Source; -import javax.xml.transform.TransformerException; import javax.xml.transform.stream.StreamSource; -import junit.framework.TestCase; +import org.apache.camel.ContextTestSupport; +import org.apache.camel.Exchange; import org.apache.camel.StreamCache; import org.apache.camel.converter.IOConverter; import org.apache.camel.converter.jaxp.XmlConverter; +import org.apache.camel.impl.DefaultExchange; /** * Test cases for {...@link StreamCacheConverter} */ -public class StreamCacheConverterTest extends TestCase { +public class StreamCacheConverterTest extends ContextTestSupport { private static final String TEST_FILE = "org/apache/camel/converter/stream/test.xml"; private StreamCacheConverter converter; + private Exchange exchange; @Override protected void setUp() throws Exception { super.setUp(); this.converter = new StreamCacheConverter(); + this.exchange = new DefaultExchange(context); } - public void testConvertToStreamCacheStreamSource() throws IOException, FileNotFoundException, TransformerException { + public void testConvertToStreamCacheStreamSource() throws Exception { StreamSource source = new StreamSource(getTestFileStream()); - StreamCache cache = converter.convertToStreamCache(source); + StreamCache cache = converter.convertToStreamCache(source, exchange); //assert re-readability of the cached StreamSource XmlConverter converter = new XmlConverter(); assertNotNull(converter.toString((Source)cache)); @@ -52,9 +53,9 @@ assertNotNull(converter.toString((Source)cache)); } - public void testConvertToStreamCacheInputStream() throws IOException { + public void testConvertToStreamCacheInputStream() throws Exception { InputStream is = getTestFileStream(); - InputStream cache = (InputStream)converter.convertToStreamCache(is); + InputStream cache = (InputStream)converter.convertToStreamCache(is, exchange); //assert re-readability of the cached InputStream assertNotNull(IOConverter.toString(cache)); assertNotNull(IOConverter.toString(cache));