Author: davsclaus
Date: Fri Jul 11 02:23:43 2008
New Revision: 675878
URL: http://svn.apache.org/viewvc?rev=675878&view=rev
Log:
CAMEL-697: transform() should propogate headers
Added:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorWithHeaderTest.java
- copied, changed from r675840,
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorTest.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/TransformProcessor.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/TransformProcessor.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/TransformProcessor.java?rev=675878&r1=675877&r2=675878&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/TransformProcessor.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/TransformProcessor.java
Fri Jul 11 02:23:43 2008
@@ -42,6 +42,9 @@
Object newBody = expression.evaluate(exchange);
exchange.getOut().setBody(newBody);
+ // propogate headers
+ exchange.getOut().getHeaders().putAll(exchange.getIn().getHeaders());
+
super.process(exchange);
}
Copied:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorWithHeaderTest.java
(from r675840,
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorTest.java)
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorWithHeaderTest.java?p2=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorWithHeaderTest.java&p1=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorTest.java&r1=675840&r2=675878&rev=675878&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorTest.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TransformProcessorWithHeaderTest.java
Fri Jul 11 02:23:43 2008
@@ -16,17 +16,35 @@
*/
package org.apache.camel.processor;
+import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
-public class TransformProcessorTest extends TransformViaDSLTest {
+/**
+ * Unit test to verify that headers can be propogated with the transform DSL.
+ */
+public class TransformProcessorWithHeaderTest extends ContextTestSupport {
+
+ public void testTransformPropogateHeaders() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.expectedBodiesReceived("London");
+ mock.expectedHeaderReceived("foo", "bar");
+
+ template.sendBodyAndHeader("direct:in",
+ "<person name='James' city='London'/>", "foo", "bar");
+
+ assertMockEndpointsSatisifed();
+ }
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- // START SNIPPET: example
- from("direct:start").transform(body().append("
World!")).to("mock:result");
- // END SNIPPET: example
+ from("direct:in")
+ .transform().constant("London")
+ .to("mock:result");
}
};
}
-}
+
+}
\ No newline at end of file