Author: davsclaus Date: Sat Aug 29 12:21:47 2009 New Revision: 809122 URL: http://svn.apache.org/viewvc?rev=809122&view=rev Log: CAMEL-1960: Enrich had an issue with aggregating the result to preserve headers. CAMEL-1955: Fixed issue when copying same message.
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultEventFactory.java camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java camel/trunk/camel-core/src/main/java/org/apache/camel/spi/EventFactory.java camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java Sat Aug 29 12:21:47 2009 @@ -23,8 +23,8 @@ import org.apache.camel.Navigate; import org.apache.camel.Processor; import org.apache.camel.Service; -import org.apache.camel.spi.RouteContext; import org.apache.camel.management.InstrumentationProcessor; +import org.apache.camel.spi.RouteContext; /** * A {...@link DefaultRoute} which starts with an Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java Sat Aug 29 12:21:47 2009 @@ -129,6 +129,11 @@ } public void copyFrom(Message that) { + if (that == this) { + // the same instance so do not need to copy + return; + } + setMessageId(that.getMessageId()); setBody(that.getBody()); if (hasHeaders()) { Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultEventFactory.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultEventFactory.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultEventFactory.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultEventFactory.java Sat Aug 29 12:21:47 2009 @@ -20,8 +20,8 @@ import org.apache.camel.CamelContext; import org.apache.camel.Exchange; -import org.apache.camel.Route; import org.apache.camel.Processor; +import org.apache.camel.Route; import org.apache.camel.management.event.CamelContextStartedEvent; import org.apache.camel.management.event.CamelContextStartingEvent; import org.apache.camel.management.event.CamelContextStoppedEvent; @@ -29,9 +29,9 @@ import org.apache.camel.management.event.ExchangeCompletedEvent; import org.apache.camel.management.event.ExchangeCreatedEvent; import org.apache.camel.management.event.ExchangeFailedEvent; +import org.apache.camel.management.event.ExchangeFailureHandledEvent; import org.apache.camel.management.event.RouteStartedEvent; import org.apache.camel.management.event.RouteStoppedEvent; -import org.apache.camel.management.event.ExchangeFailureHandledEvent; import org.apache.camel.spi.EventFactory; /** Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java Sat Aug 29 12:21:47 2009 @@ -24,10 +24,10 @@ import org.apache.camel.Predicate; import org.apache.camel.Processor; import org.apache.camel.model.OnExceptionDefinition; +import org.apache.camel.util.EventHelper; import org.apache.camel.util.ExchangeHelper; import org.apache.camel.util.MessageHelper; import org.apache.camel.util.ServiceHelper; -import org.apache.camel.util.EventHelper; /** * Base redeliverable error handler that also supports a final dead letter queue in case Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/spi/EventFactory.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/EventFactory.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/spi/EventFactory.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/spi/EventFactory.java Sat Aug 29 12:21:47 2009 @@ -20,8 +20,8 @@ import org.apache.camel.CamelContext; import org.apache.camel.Exchange; -import org.apache.camel.Route; import org.apache.camel.Processor; +import org.apache.camel.Route; /** * Factory to create {...@link java.util.EventObject} events} that are emitted when such an event occur. Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeHelper.java Sat Aug 29 12:21:47 2009 @@ -433,17 +433,17 @@ * @param newExchange the new exchange */ public static void prepareAggregation(Exchange oldExchange, Exchange newExchange) { - // copy body/header from OUT to IN + // move body/header from OUT to IN if (oldExchange != null) { if (oldExchange.hasOut()) { - oldExchange.getIn().copyFrom(oldExchange.getOut()); + oldExchange.setIn(oldExchange.getOut()); oldExchange.setOut(null); } } if (newExchange != null) { if (newExchange.hasOut()) { - newExchange.getIn().copyFrom(newExchange.getOut()); + newExchange.setIn(newExchange.getOut()); newExchange.setOut(null); } } Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java?rev=809122&r1=809121&r2=809122&view=diff ============================================================================== --- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java (original) +++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRoundtripHeaderTest.java Sat Aug 29 12:21:47 2009 @@ -57,7 +57,7 @@ } @Test - public void testHttpRoundTripHeadersWithNoIngoredHeaders() throws Exception { + public void testHttpRoundTripHeadersWithNoIgnoredHeaders() throws Exception { MockEndpoint mockEndpoint = resolveMandatoryEndpoint("mock:results", MockEndpoint.class); mockEndpoint.expectedMessageCount(1); @@ -85,7 +85,7 @@ String input = (String) exchange.getIn().getBody(); // append some text to invalidate Context-Length // for the http reply - exchange.getOut().setBody(input + outputText); + exchange.getIn().setBody(input + outputText); } }; @@ -104,7 +104,7 @@ Message in = exchange.getIn(); assertNotNull("in", in); Map<String, Object> headers = in.getHeaders(); - assertTrue("no headers are propagated", headers.isEmpty()); + assertTrue("no headers are propagated", !headers.isEmpty()); assertEquals("body has expectedText:" + expected, expected, in.getBody()); }