CAMEL-8284: Moved copy to StreamCache
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/b9781adc Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b9781adc Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b9781adc Branch: refs/heads/master Commit: b9781adcc604f5dec97884b5117437dbdbf1777c Parents: 8d71310 Author: Claus Ibsen <davscl...@apache.org> Authored: Sat Feb 21 11:12:42 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sat Feb 21 11:12:42 2015 +0100 ---------------------------------------------------------------------- .../camel/converter/stream/InputStreamCache.java | 2 +- .../camel/converter/stream/StreamSourceCache.java | 17 +++++++++-------- .../MultiCastParallelAndStreamCachingTest.java | 11 +++++------ 3 files changed, 15 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/b9781adc/camel-core/src/main/java/org/apache/camel/converter/stream/InputStreamCache.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/converter/stream/InputStreamCache.java b/camel-core/src/main/java/org/apache/camel/converter/stream/InputStreamCache.java index 92a1a4e..ba7f12e 100644 --- a/camel-core/src/main/java/org/apache/camel/converter/stream/InputStreamCache.java +++ b/camel-core/src/main/java/org/apache/camel/converter/stream/InputStreamCache.java @@ -41,7 +41,7 @@ public final class InputStreamCache extends ByteArrayInputStream implements Stre } public StreamCache copy() { - return new InputStreamCache(buf); + return new InputStreamCache(buf, count); } public boolean inMemory() { http://git-wip-us.apache.org/repos/asf/camel/blob/b9781adc/camel-core/src/main/java/org/apache/camel/converter/stream/StreamSourceCache.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/converter/stream/StreamSourceCache.java b/camel-core/src/main/java/org/apache/camel/converter/stream/StreamSourceCache.java index 97edb29..499f799 100644 --- a/camel-core/src/main/java/org/apache/camel/converter/stream/StreamSourceCache.java +++ b/camel-core/src/main/java/org/apache/camel/converter/stream/StreamSourceCache.java @@ -55,16 +55,17 @@ public final class StreamSourceCache extends StreamSource implements StreamCache private StreamSourceCache(StreamCache streamCache) { this.streamCache = streamCache; - setInputStream((InputStream) streamCache); - this.readCache = null; + if (streamCache instanceof InputStream) { + setInputStream((InputStream) streamCache); + this.readCache = null; + } else if (streamCache instanceof ReaderCache) { + this.readCache = (ReaderCache) streamCache; + setReader((java.io.Reader) streamCache); + } else { + this.readCache = null; + } } - private StreamSourceCache(ReaderCache readCache) { - this.streamCache = null; - this.readCache = readCache; - setReader(readCache); - } - public void reset() { if (streamCache != null) { streamCache.reset(); http://git-wip-us.apache.org/repos/asf/camel/blob/b9781adc/camel-core/src/test/java/org/apache/camel/processor/MultiCastParallelAndStreamCachingTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/MultiCastParallelAndStreamCachingTest.java b/camel-core/src/test/java/org/apache/camel/processor/MultiCastParallelAndStreamCachingTest.java index 247a529..7f1a8e5 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/MultiCastParallelAndStreamCachingTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/MultiCastParallelAndStreamCachingTest.java @@ -164,8 +164,9 @@ public class MultiCastParallelAndStreamCachingTest extends ContextTestSupport { public void testInputStreamCache() throws Exception { MockEndpoint mock = getMockEndpoint("mock:resulta"); mock.expectedBodiesReceived("A"); - mock = getMockEndpoint("mock:resultb"); - mock.expectedBodiesReceived("A"); + + MockEndpoint mockb = getMockEndpoint("mock:resultb"); + mockb.expectedBodiesReceived("A"); InputStream in = MultiCastParallelAndStreamCachingTest.class.getClassLoader().getResourceAsStream( "org/apache/camel/processor/oneCharacter.txt"); @@ -184,8 +185,8 @@ public class MultiCastParallelAndStreamCachingTest extends ContextTestSupport { * @throws Exception */ public void testReaderCache() throws Exception { + String abcScharpS = "ABC\u00DF"; // sharp-s - String abcScharpS = "ABCÃ"; // sharp-s MockEndpoint mock = getMockEndpoint("mock:resulta"); mock.expectedBodiesReceived(abcScharpS); mock = getMockEndpoint("mock:resultb"); @@ -197,7 +198,6 @@ public class MultiCastParallelAndStreamCachingTest extends ContextTestSupport { assertMockEndpointsSatisfied(); } - public void testStreamSourceCacheWithInputStream() throws Exception { String input = "<A>a</A>"; @@ -210,11 +210,10 @@ public class MultiCastParallelAndStreamCachingTest extends ContextTestSupport { template.sendBody("direct:start", ss); assertMockEndpointsSatisfied(); - } public void testStreamSourceCacheWithReader() throws Exception { - String input = "ABCÃ"; // sharp-s + String input = "ABC\u00DF"; // sharp-s MockEndpoint mock = getMockEndpoint("mock:resulta"); mock.expectedBodiesReceived(input);