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

Reply via email to