This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7d5bfbfdcf437b6911f0b8bffbfb6feb5aaaac94 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Jan 30 10:56:02 2020 +0100 CAMEL-14354: camel-core optimize --- .../apache/camel/component/mock/MockEndpoint.java | 25 +++++++++++++++++++--- .../camel/impl/DefaultMessageHeaderTest.java | 12 +++++++++-- .../org/apache/camel/support/DefaultExchange.java | 12 ++++++++++- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockEndpoint.java b/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockEndpoint.java index 5557825..9ac9223 100644 --- a/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockEndpoint.java +++ b/components/camel-mock/src/main/java/org/apache/camel/component/mock/MockEndpoint.java @@ -46,6 +46,7 @@ import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.RuntimeCamelException; import org.apache.camel.spi.BrowsableEndpoint; +import org.apache.camel.spi.HeadersMapFactory; import org.apache.camel.spi.InterceptSendToEndpoint; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.NotifyBuilderMatcher; @@ -549,7 +550,13 @@ public class MockEndpoint extends DefaultEndpoint implements BrowsableEndpoint, expectedMinimumMessageCount(1); } if (expectedHeaderValues == null) { - expectedHeaderValues = getCamelContext().adapt(ExtendedCamelContext.class).getHeadersMapFactory().newMap(); + HeadersMapFactory factory = getCamelContext().adapt(ExtendedCamelContext.class).getHeadersMapFactory(); + if (factory != null) { + expectedHeaderValues = factory.newMap(); + } else { + // should not really happen but some tests dont start camel context + expectedHeaderValues = new HashMap<>(); + } // we just wants to expects to be called once expects(new AssertionTask() { @Override @@ -1566,7 +1573,13 @@ public class MockEndpoint extends DefaultEndpoint implements BrowsableEndpoint, if (expectedHeaderValues != null) { if (actualHeaderValues == null) { - actualHeaderValues = getCamelContext().adapt(ExtendedCamelContext.class).getHeadersMapFactory().newMap(); + HeadersMapFactory factory = getCamelContext().adapt(ExtendedCamelContext.class).getHeadersMapFactory(); + if (factory != null) { + actualHeaderValues = factory.newMap(); + } else { + // should not really happen but some tests dont start camel context + actualHeaderValues = new HashMap<>(); + } } if (in.hasHeaders()) { actualHeaderValues.putAll(in.getHeaders()); @@ -1575,7 +1588,13 @@ public class MockEndpoint extends DefaultEndpoint implements BrowsableEndpoint, if (expectedPropertyValues != null) { if (actualPropertyValues == null) { - actualPropertyValues = getCamelContext().adapt(ExtendedCamelContext.class).getHeadersMapFactory().newMap(); + HeadersMapFactory factory = getCamelContext().adapt(ExtendedCamelContext.class).getHeadersMapFactory(); + if (factory != null) { + actualPropertyValues = factory.newMap(); + } else { + // should not really happen but some tests dont start camel context + actualPropertyValues = new HashMap<>(); + } } actualPropertyValues.putAll(copy.getProperties()); } diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultMessageHeaderTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultMessageHeaderTest.java index 5494c8f..379e9d1 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultMessageHeaderTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultMessageHeaderTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.impl; +import junit.framework.TestCase; import org.apache.camel.CamelContext; import org.apache.camel.Message; import org.apache.camel.support.DefaultExchange; @@ -23,9 +24,16 @@ import org.apache.camel.support.DefaultMessage; import org.junit.Assert; import org.junit.Test; -public class DefaultMessageHeaderTest extends Assert { +public class DefaultMessageHeaderTest extends TestCase { - private CamelContext camelContext = new DefaultCamelContext(); + private CamelContext camelContext; + + @Override + protected void setUp() throws Exception { + super.setUp(); + camelContext = new DefaultCamelContext(); + camelContext.start(); + } @Test public void testLookupCaseAgnostic() { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java index 71220ae..f4cb782 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java @@ -17,6 +17,7 @@ package org.apache.camel.support; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -33,6 +34,7 @@ import org.apache.camel.ExtendedCamelContext; import org.apache.camel.ExtendedExchange; import org.apache.camel.Message; import org.apache.camel.MessageHistory; +import org.apache.camel.spi.HeadersMapFactory; import org.apache.camel.spi.Synchronization; import org.apache.camel.spi.UnitOfWork; import org.apache.camel.util.ObjectHelper; @@ -155,7 +157,15 @@ public final class DefaultExchange implements ExtendedExchange { return null; } - return context.adapt(ExtendedCamelContext.class).getHeadersMapFactory().newMap(headers); + if (context != null) { + ExtendedCamelContext ecc = (ExtendedCamelContext) context; + HeadersMapFactory factory = ecc.getHeadersMapFactory(); + if (factory != null) { + return factory.newMap(headers); + } + } + // should not really happen but some tests dont start camel context + return new HashMap<>(headers); } @SuppressWarnings("unchecked")