Repository: camel
Updated Branches:
  refs/heads/master d90a3f9d8 -> 41805bb84


CAMEL-9816: StreamCache - The cache method should support OUT as well


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/41805bb8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/41805bb8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/41805bb8

Branch: refs/heads/master
Commit: 41805bb8493cbff1d208d6eaed92676d1ade86b9
Parents: 6c81334
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Apr 5 12:01:07 2016 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Apr 5 13:20:49 2016 +0200

----------------------------------------------------------------------
 .../org/apache/camel/converter/stream/StreamCacheConverter.java | 5 +++++
 .../org/apache/camel/impl/DefaultStreamCachingStrategy.java     | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/41805bb8/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
 
b/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
index 19fa2af..0695cde 100644
--- 
a/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
+++ 
b/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java
@@ -84,6 +84,11 @@ public final class StreamCacheConverter {
     }
 
     @Converter
+    public static StreamCache convertToStreamCache(CachedOutputStream cos, 
Exchange exchange) throws IOException {
+        return cos.newStreamCache();
+    }
+
+    @Converter
     public static StreamCache convertToStreamCache(Reader reader, Exchange 
exchange) throws IOException {
         String data = 
exchange.getContext().getTypeConverter().convertTo(String.class, exchange, 
reader);
         return new ReaderCache(data);

http://git-wip-us.apache.org/repos/asf/camel/blob/41805bb8/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java
 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java
index 8d407fe..245765d 100644
--- 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java
+++ 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java
@@ -26,6 +26,7 @@ import java.util.UUID;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
+import org.apache.camel.Message;
 import org.apache.camel.StreamCache;
 import org.apache.camel.spi.StreamCachingStrategy;
 import org.apache.camel.util.FilePathResolver;
@@ -186,7 +187,8 @@ public class DefaultStreamCachingStrategy extends 
org.apache.camel.support.Servi
     }
 
     public StreamCache cache(Exchange exchange) {
-        StreamCache cache = exchange.getIn().getBody(StreamCache.class);
+        Message message = exchange.hasOut() ? exchange.getOut() : 
exchange.getIn();
+        StreamCache cache = message.getBody(StreamCache.class);
         if (cache != null) {
             if (LOG.isTraceEnabled()) {
                 LOG.trace("Cached stream to {} -> {}", cache.inMemory() ? 
"memory" : "spool", cache);

Reply via email to