You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/06/22 16:34:14 UTC

svn commit: r787246 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/ camel-core/src/main/java/org/apache/camel/impl/ camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/processor/ camel-core/src/main/...

Author: davsclaus
Date: Mon Jun 22 14:34:13 2009
New Revision: 787246

URL: http://svn.apache.org/viewvc?rev=787246&view=rev
Log:
CAMEL-1720: StreamCache is now default disabled. Fixed a bug with interceptor and on completion. Added methods to configure stream cache in java and spring dsl.

Added:
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalSSEnabledTest.java
      - copied, changed from r787184, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterSSEnabledOnCamelContextTest.java
      - copied, changed from r787184, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java   (with props)
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java   (with props)
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/NoStreamCachingInterceptorTest.java
      - copied, changed from r787184, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/StreamCachingInterceptorTest.java
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml   (with props)
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml   (with props)
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCaching.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AmahDeadLetterTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/StreamCachingInterceptorTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContext.java Mon Jun 22 14:34:13 2009
@@ -463,4 +463,10 @@
      */
     ServicePool<Endpoint, Producer> getProducerServicePool();
 
+    /**
+     * Sets whether stream caching is enable or not (default is disabled).
+     *
+     * @param cache whether stream cachin is enabled or not
+     */
+    void setStreamCaching(Boolean cache);
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Mon Jun 22 14:34:13 2009
@@ -108,7 +108,7 @@
     private final List<RouteDefinition> routeDefinitions = new ArrayList<RouteDefinition>();
     private List<InterceptStrategy> interceptStrategies = new ArrayList<InterceptStrategy>();
     private Boolean trace;
-    private Boolean streamCache = Boolean.TRUE;
+    private Boolean streamCache = Boolean.FALSE;
     private Boolean handleFault = Boolean.FALSE;
     private Long delay;
     private ErrorHandlerBuilder errorHandlerBuilder;
@@ -760,8 +760,8 @@
         return streamCache;
     }
 
-    public void setStreamCaching(Boolean trace) {
-        this.streamCache = trace;
+    public void setStreamCaching(Boolean cache) {
+        this.streamCache = cache;
     }
 
     /**

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java Mon Jun 22 14:34:13 2009
@@ -69,11 +69,13 @@
         // add the output as a intercept strategy to the route context so its invoked on each processing step
         routeContext.getInterceptStrategies().add(new InterceptStrategy() {
             public Processor wrapProcessorInInterceptors(ProcessorDefinition processorDefinition, Processor target, Processor nextTarget) throws Exception {
-                if (nextTarget != null) {
+                // prefer next target over taget as next target is the real target
+                Processor processor = nextTarget != null ? nextTarget : target;
+                if (processor != null) {
                     // wrap in a pipeline so we continue routing to the next
                     List<Processor> list = new ArrayList<Processor>(2);
                     list.add(output);
-                    list.add(nextTarget);
+                    list.add(processor);
                     return new Pipeline(list);
                 } else {
                     return output;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java Mon Jun 22 14:34:13 2009
@@ -172,7 +172,8 @@
             return channel;
         } else {
             // regular definition so add the error handler
-            Processor errorHandler = getErrorHandlerBuilder().createErrorHandler(routeContext, channel.getOutput());
+            Processor output = channel.getOutput();
+            Processor errorHandler = getErrorHandlerBuilder().createErrorHandler(routeContext, output);
             channel.setErrorHandler(errorHandler);
             return channel;
         }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java Mon Jun 22 14:34:13 2009
@@ -19,7 +19,6 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
@@ -36,7 +35,7 @@
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.impl.DefaultRouteContext;
-import org.apache.camel.processor.interceptor.StreamCachingInterceptor;
+import org.apache.camel.processor.interceptor.StreamCaching;
 import org.apache.camel.spi.RouteContext;
 import org.apache.camel.util.CamelContextHelper;
 
@@ -51,8 +50,9 @@
 public class RouteDefinition extends ProcessorDefinition<ProcessorDefinition> implements CamelContextAware {
     private List<FromDefinition> inputs = new ArrayList<FromDefinition>();
     private List<ProcessorDefinition> outputs = new ArrayList<ProcessorDefinition>();
-    private String group;
     private CamelContext camelContext;
+    private String group;
+    private Boolean streamCache;
 
     public RouteDefinition() {
     }
@@ -194,6 +194,29 @@
         return this;
     }
 
+    /**
+     * Disable stream caching for this Route.
+     */
+    public RouteDefinition noStreamCaching() {
+        setStreamCache(Boolean.FALSE);
+        StreamCaching.noStreamCaching(getInterceptStrategies());
+        return this;
+    }
+
+    /**
+     * Enable stream caching for this Route.
+     */
+    public RouteDefinition streamCaching() {
+        setStreamCache(Boolean.TRUE);
+        StreamCaching cache = StreamCaching.getStreamCaching(getCamelContext());
+        if (cache == null) {
+            cache = new StreamCaching();
+        }
+
+        getInterceptStrategies().add(cache);
+        return this;
+    }
+
     // Properties
     // -----------------------------------------------------------------------
 
@@ -214,7 +237,6 @@
     public void setOutputs(List<ProcessorDefinition> outputs) {
         this.outputs = outputs;
 
-        // TODO I don't think this is called when using JAXB!
         if (outputs != null) {
             for (ProcessorDefinition output : outputs) {
                 configureChild(output);
@@ -246,11 +268,23 @@
         this.group = group;
     }
 
+    public Boolean isStreamCache() {
+        return streamCache;
+    }
+
+    @XmlAttribute
+    public void setStreamCache(Boolean streamCache) {
+        this.streamCache = streamCache;
+    }
+
     // Implementation methods
     // -------------------------------------------------------------------------
     protected RouteContext addRoutes(Collection<Route> routes, FromDefinition fromType) throws Exception {
         RouteContext routeContext = new DefaultRouteContext(this, fromType, routes);
-        routeContext.getEndpoint(); // force endpoint resolution
+        // should inherit the intercept strategies we have defined
+        routeContext.setInterceptStrategies(this.getInterceptStrategies());
+        // force endpoint resolution
+        routeContext.getEndpoint();
         if (camelContext != null) {
             camelContext.getLifecycleStrategy().onRouteContextCreate(routeContext);
         }
@@ -264,9 +298,4 @@
         return routeContext;
     }
 
-    @Override
-    protected void configureChild(ProcessorDefinition output) {
-        super.configureChild(output);
-    }
-
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java Mon Jun 22 14:34:13 2009
@@ -167,6 +167,6 @@
 
     @Override
     public String toString() {
-        return "OnCompletionProcessor";
+        return "OnCompletionProcessor[" + processor + "]";
     }
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCaching.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCaching.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCaching.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCaching.java Mon Jun 22 14:34:13 2009
@@ -50,6 +50,19 @@
         return null;
     }
 
+    /**
+     * Remove the {@link StreamCachingInterceptor} from the given list of interceptors
+     *
+     * @param interceptors the list of interceptors
+     */
+    public static void noStreamCaching(List<InterceptStrategy> interceptors) {
+        for (InterceptStrategy strategy : interceptors) {
+            if (strategy instanceof StreamCachingInterceptor) {
+                interceptors.remove(strategy);
+            }
+        }
+    }
+
     @Override
     public String toString() {
         return "StreamCaching";

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AmahDeadLetterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AmahDeadLetterTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AmahDeadLetterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AmahDeadLetterTest.java Mon Jun 22 14:34:13 2009
@@ -26,6 +26,7 @@
  * @version $Revision$
  */
 public class AmahDeadLetterTest extends ContextTestSupport {
+
     public void testException() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:err");
         mock.expectedMessageCount(1);
@@ -39,7 +40,8 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:err"));
+                errorHandler(deadLetterChannel("mock:err").redeliverDelay(0));
+
                 from("seda:a").process(new Processor() {
                     public void process(Exchange exchange) throws Exception {
                         throw new Exception("Test exception");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java Mon Jun 22 14:34:13 2009
@@ -68,6 +68,9 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
+                // enable stream caching
+                context.setStreamCaching(true);
+
                 // 0 delay for faster unit test
                 errorHandler(deadLetterChannel("direct:errorHandler").maximumRedeliveries(3).redeliverDelay(0));
                 from("direct:start").process(new Processor() {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java Mon Jun 22 14:34:13 2009
@@ -75,6 +75,9 @@
 
         return new RouteBuilder() {
             public void configure() {
+                // enable stream caching
+                context.setStreamCaching(true);
+
                 errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 //stream caching should fix re-readability issues when multicasting messags

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalSSEnabledTest.java (from r787184, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalSSEnabledTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalSSEnabledTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java&r1=787184&r2=787246&rev=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalSSEnabledTest.java Mon Jun 22 14:34:13 2009
@@ -16,54 +16,21 @@
  */
 package org.apache.camel.processor;
 
-import org.apache.camel.CamelExecutionException;
-import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
 
 /**
  * @version $Revision$
  */
-public class OnCompletionAndInterceptGlobalTest extends ContextTestSupport {
-
-    public void testSynchronizeComplete() throws Exception {
-        getMockEndpoint("mock:intercept").expectedMessageCount(5);
-        getMockEndpoint("mock:sync").expectedBodiesReceived("Bye World");
-        getMockEndpoint("mock:sync").expectedPropertyReceived(Exchange.ON_COMPLETION, true);
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Bye World");
-
-        template.sendBody("direct:start", "Hello World");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    public void testSynchronizeFailure() throws Exception {
-        getMockEndpoint("mock:intercept").expectedMessageCount(4);
-        getMockEndpoint("mock:sync").expectedMessageCount(1);
-        getMockEndpoint("mock:sync").expectedPropertyReceived(Exchange.ON_COMPLETION, true);
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(0);
-
-        try {
-            template.sendBody("direct:start", "Kabom");
-            fail("Should throw exception");
-        } catch (CamelExecutionException e) {
-            assertEquals("Kabom", e.getCause().getMessage());
-        }
-
-        assertMockEndpointsSatisfied();
-    }
+public class OnCompletionAndInterceptGlobalSSEnabledTest extends OnCompletionAndInterceptGlobalTest {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
+                // enabled stream cache
+                context.setStreamCaching(true);
+
                 intercept().to("mock:intercept");
 
                 // define a global on completion that is invoked when the exchage is complete
@@ -78,16 +45,4 @@
         };
     }
 
-    public static class MyProcessor implements Processor {
-
-        public MyProcessor() {
-        }
-
-        public void process(Exchange exchange) throws Exception {
-            if ("Kabom".equals(exchange.getIn().getBody())) {
-                throw new IllegalArgumentException("Kabom");
-            }
-            exchange.getIn().setBody("Bye World");
-        }
-    }
 }
\ No newline at end of file

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/OnCompletionAndInterceptGlobalTest.java Mon Jun 22 14:34:13 2009
@@ -29,7 +29,7 @@
 public class OnCompletionAndInterceptGlobalTest extends ContextTestSupport {
 
     public void testSynchronizeComplete() throws Exception {
-        getMockEndpoint("mock:intercept").expectedMessageCount(5);
+        getMockEndpoint("mock:intercept").expectedMessageCount(4);
         getMockEndpoint("mock:sync").expectedBodiesReceived("Bye World");
         getMockEndpoint("mock:sync").expectedPropertyReceived(Exchange.ON_COMPLETION, true);
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java Mon Jun 22 14:34:13 2009
@@ -77,7 +77,7 @@
         DefaultChannel channel = assertIsInstanceOf(DefaultChannel.class, unwrapChannel(consumerRoute.getProcessor()));
 
         assertIsInstanceOf(DefaultErrorHandler.class, channel.getErrorHandler());
-        assertTrue("Should have stream caching", channel.hasInterceptorStrategy(StreamCaching.class));
+        assertFalse("Should not have stream caching", channel.hasInterceptorStrategy(StreamCaching.class));
 
         assertIsInstanceOf(Resequencer.class, channel.getNextProcessor());
     }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java Mon Jun 22 14:34:13 2009
@@ -30,12 +30,15 @@
             public void configure() {
                 errorHandler(noErrorHandler());
                 // should work with no error handler as the stream cache
-                // should be enabled and make sure the predicates can be evaluated
+                // is enabled and make sure the predicates can be evaluated
                 // multiple times
 
-                from("direct:start").choice()
-                  .when().xpath("/message/text() = 'xx'").to("mock:x")
-                  .when().xpath("/message/text() = 'yy'").to("mock:y");
+                from("direct:start")
+                    .streamCaching()
+                        .choice()
+                          .when().xpath("/message/text() = 'xx'").to("mock:x")
+                          .when().xpath("/message/text() = 'yy'").to("mock:y")
+                        .end();
             }
         };
     }

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterSSEnabledOnCamelContextTest.java (from r787184, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterSSEnabledOnCamelContextTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterSSEnabledOnCamelContextTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java&r1=787184&r2=787246&rev=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterNoErrorHandlerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterSSEnabledOnCamelContextTest.java Mon Jun 22 14:34:13 2009
@@ -23,21 +23,21 @@
  *
  * @version $Revision$
  */
-public class StreamSourceContentBasedRouterNoErrorHandlerTest extends StreamSourceContentBasedRouterTest {
+public class StreamSourceContentBasedRouterSSEnabledOnCamelContextTest extends StreamSourceContentBasedRouterTest {
 
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(noErrorHandler());
-                // should work with no error handler as the stream cache
-                // should be enabled and make sure the predicates can be evaluated
-                // multiple times
+                // enable stream cache globally on camel context
+                context.setStreamCaching(true);
 
-                from("direct:start").choice()
-                  .when().xpath("/message/text() = 'xx'").to("mock:x")
-                  .when().xpath("/message/text() = 'yy'").to("mock:y");
+                from("direct:start")
+                        .choice()
+                          .when().xpath("/message/text() = 'xx'").to("mock:x")
+                          .when().xpath("/message/text() = 'yy'").to("mock:y")
+                        .end();
             }
         };
     }
 
-}
+}
\ No newline at end of file

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/StreamSourceContentBasedRouterTest.java Mon Jun 22 14:34:13 2009
@@ -66,10 +66,10 @@
         return new RouteBuilder() {
             public void configure() {
                 // should work with default error handler as the stream cache
-                // should be enabled and make sure the predicates can be evaluated
+                // is enabled and make sure the predicates can be evaluated
                 // multiple times
 
-                from("direct:start").choice()
+                from("direct:start").streamCaching().choice()
                   .when().xpath("/message/text() = 'xx'").to("mock:x")
                   .when().xpath("/message/text() = 'yy'").to("mock:y");
             }

Added: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java?rev=787246&view=auto
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java (added)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java Mon Jun 22 14:34:13 2009
@@ -0,0 +1,115 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.processor.interceptor;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.StreamCache;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ * @version $Revision$
+ */
+public class NoStreamCachingTest extends ContextTestSupport {
+
+    private static final String MESSAGE = "<hello>world!</hello>";
+    private MockEndpoint a;
+    private MockEndpoint b;
+
+    @Override
+    public boolean isUseRouteBuilder() {
+        return false;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        a = getMockEndpoint("mock:a");
+        b = getMockEndpoint("mock:b");
+    }
+
+    public void testNoStreamCache() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:a").noStreamCaching().to("mock:a");
+            }
+        });
+        context.start();
+
+        a.expectedMessageCount(1);
+
+        InputStream message = new ByteArrayInputStream(MESSAGE.getBytes());
+        template.sendBody("direct:a", message);
+
+        assertMockEndpointsSatisfied();
+        assertTrue(a.assertExchangeReceived(0).getIn().getBody() instanceof ByteArrayInputStream);
+        assertEquals(a.assertExchangeReceived(0).getIn().getBody(String.class), MESSAGE);
+    }
+
+    public void testNoStreamCacheIsDefault() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:a").to("mock:a");
+            }
+        });
+        context.start();
+
+        a.expectedMessageCount(1);
+
+        InputStream message = new ByteArrayInputStream(MESSAGE.getBytes());
+        template.sendBody("direct:a", message);
+
+        assertMockEndpointsSatisfied();
+        assertTrue(a.assertExchangeReceived(0).getIn().getBody() instanceof ByteArrayInputStream);
+        assertEquals(a.assertExchangeReceived(0).getIn().getBody(String.class), MESSAGE);
+    }
+
+    public void testMixed() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:a").to("mock:a");
+
+                from("direct:b").streamCaching().to("mock:b");
+            }
+        });
+        context.start();
+
+        a.expectedMessageCount(1);
+        b.expectedMessageCount(1);
+
+        InputStream message = new ByteArrayInputStream(MESSAGE.getBytes());
+        template.sendBody("direct:a", message);
+
+        InputStream message2 = new ByteArrayInputStream(MESSAGE.getBytes());
+        template.sendBody("direct:b", message2);
+
+        assertMockEndpointsSatisfied();
+
+        assertTrue(a.assertExchangeReceived(0).getIn().getBody() instanceof ByteArrayInputStream);
+        assertEquals(a.assertExchangeReceived(0).getIn().getBody(String.class), MESSAGE);
+
+        assertTrue(b.assertExchangeReceived(0).getIn().getBody() instanceof StreamCache);
+        assertEquals(b.assertExchangeReceived(0).getIn().getBody(String.class), MESSAGE);
+    }
+
+}

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/NoStreamCachingTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/StreamCachingInterceptorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/StreamCachingInterceptorTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/StreamCachingInterceptorTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/interceptor/StreamCachingInterceptorTest.java Mon Jun 22 14:34:13 2009
@@ -112,11 +112,12 @@
             public void configure() {
                 //Stream caching for a single route...
                 //START SNIPPET: route
-                from("direct:a").to("mock:a");
+                from("direct:a").streamCaching().to("mock:a");
                 //END SNIPPET: route
 
                 //... or for all the following routes in this builder
                 //START SNIPPET: routebuilder
+                context.setStreamCaching(true);
                 from("direct:b").to("mock:b");
                 //END SNIPPET: routebuilder
             }

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java Mon Jun 22 14:34:13 2009
@@ -65,7 +65,6 @@
 
     @Test
     public void testHelloEndpoint() throws Exception {
-
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         InputStream is = new URL("http://localhost:9080/hello").openStream();
         int c;
@@ -75,14 +74,12 @@
 
         String data = new String(os.toByteArray());
         assertEquals("<b>Hello World</b>", data);
-
     }
     
     @Test
     public void testEchoEndpoint() throws Exception {
         String out = template.requestBody("http://localhost:9080/echo", "HelloWorld", String.class);
         assertEquals("Get a wrong output " , "HelloWorld", out);
-        
     }
 
     protected void invokeHttpEndpoint() throws IOException {
@@ -93,6 +90,9 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() {
+                // enable strem cache
+                context.setStreamCaching(true);
+
                 from("jetty:http://localhost:9080/test").to("mock:a");
 
                 Processor proc = new Processor() {

Modified: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java?rev=787246&r1=787245&r2=787246&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java (original)
+++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java Mon Jun 22 14:34:13 2009
@@ -23,7 +23,6 @@
 
 import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.camel.CamelContext;
-import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
@@ -195,6 +194,9 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
+                // enable stream caching
+                context.setStreamCaching(true);
+
                 errorHandler(deadLetterChannel("mock:error").redeliverDelay(0));
 
                 // no need to convert to String as JMS producer can handle XML streams now

Added: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java?rev=787246&view=auto
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java (added)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java Mon Jun 22 14:34:13 2009
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.spring.interceptor;
+
+import java.io.StringReader;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
+import org.apache.camel.StreamCache;
+import org.apache.camel.component.mock.MockEndpoint;
+import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
+
+/**
+ * @version $Revision$
+ */
+public class MixedStreamCachingInterceptorTest extends ContextTestSupport {
+
+    public void testStreamCaching() throws Exception {
+        MockEndpoint a = getMockEndpoint("mock:a");
+        a.expectedMessageCount(1);
+
+        StreamSource message = new StreamSource(new StringReader("<hello>world!</hello>"));
+        template.sendBody("direct:a", message);
+
+        assertMockEndpointsSatisfied();
+
+        Exchange exchange = a.getExchanges().get(0);
+        StreamCache cache = assertIsInstanceOf(StreamCache.class, exchange.getIn().getBody());
+        assertNotNull(cache);
+
+        assertNotSame(message, cache);
+    }
+
+    public void testNoStreamCaching() throws Exception {
+        MockEndpoint b = getMockEndpoint("mock:b");
+        b.expectedMessageCount(1);
+
+        StreamSource message = new StreamSource(new StringReader("<hello>world!</hello>"));
+        template.sendBody("direct:b", message);
+
+        assertMockEndpointsSatisfied();
+
+        Exchange exchange = b.getExchanges().get(0);
+        StreamSource stream = assertIsInstanceOf(StreamSource.class, exchange.getIn().getBody());
+        assertNotNull(stream);
+    }
+
+    protected CamelContext createCamelContext() throws Exception {
+        return createSpringCamelContext(this, "org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml");
+    }
+
+}

Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/MixedStreamCachingInterceptorTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/NoStreamCachingInterceptorTest.java (from r787184, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/StreamCachingInterceptorTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/NoStreamCachingInterceptorTest.java?p2=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/NoStreamCachingInterceptorTest.java&p1=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/StreamCachingInterceptorTest.java&r1=787184&r2=787246&rev=787246&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/StreamCachingInterceptorTest.java (original)
+++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/NoStreamCachingInterceptorTest.java Mon Jun 22 14:34:13 2009
@@ -22,17 +22,15 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
-import org.apache.camel.StreamCache;
 import org.apache.camel.component.mock.MockEndpoint;
-
 import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
 
 /**
  * Test case for enabling stream caching through XML
  */
-public class StreamCachingInterceptorTest extends ContextTestSupport {
+public class NoStreamCachingInterceptorTest extends ContextTestSupport {
 
-    public void testStreamCachingInterceptorEnabled() throws Exception {
+    public void testNoStreamCachingInterceptorEnabled() throws Exception {
         MockEndpoint a = getMockEndpoint("mock:a");
         a.expectedMessageCount(1);
 
@@ -41,12 +39,12 @@
 
         assertMockEndpointsSatisfied();
         Exchange exchange = a.getExchanges().get(0);
-        StreamCache streamCache = assertIsInstanceOf(StreamCache.class, exchange.getIn().getBody());
-        assertNotNull(streamCache);
+        StreamSource stream = assertIsInstanceOf(StreamSource.class, exchange.getIn().getBody());
+        assertNotNull(stream);
     }
 
     protected CamelContext createCamelContext() throws Exception {
-        return createSpringCamelContext(this, "org/apache/camel/spring/interceptor/streamCachingOnRoute.xml");
+        return createSpringCamelContext(this, "org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml");
     }
 
-}
+}
\ No newline at end of file

Added: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml?rev=787246&view=auto
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml (added)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml Mon Jun 22 14:34:13 2009
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+    ">
+
+    <!--  START SNIPPET: e1 -->
+    <camelContext xmlns="http://camel.apache.org/schema/spring">
+        <!-- this route has stream cache enabled -->
+        <route streamCache="true">
+            <from uri="direct:a"/>
+            <to uri="mock:a"/>
+        </route>
+
+        <!-- and this has not -->
+        <route streamCache="false">
+            <from uri="direct:b"/>
+            <to uri="mock:b"/>
+        </route>
+    </camelContext>
+    <!--  END SNIPPET: e1 -->
+
+</beans>

Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/mixedStreamCachingInterceptorTest.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml?rev=787246&view=auto
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml (added)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml Mon Jun 22 14:34:13 2009
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+    ">
+
+    <!--  START SNIPPET: e1 -->
+    <!-- stream cache is disabled by default -->
+    <camelContext xmlns="http://camel.apache.org/schema/spring">
+        <route>
+            <from uri="direct:a"/>
+            <to uri="mock:a"/>
+        </route>
+    </camelContext>
+    <!--  END SNIPPET: e1 -->
+
+</beans>

Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/interceptor/noStreamCachingInterceptorTest.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml