This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit e34e84b10a4aa16953fdb3139c79a1f5d7cafc35 Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Wed Dec 13 16:02:36 2023 -0300 CAMEL-20234: remove the endpoint-based constructor --- .../bean/AbstractCamelInvocationHandler.java | 4 ++-- .../camel/impl/engine/PooledExchangeFactory.java | 2 +- .../engine/PooledProcessorExchangeFactory.java | 2 +- .../impl/engine/PrototypeExchangeFactory.java | 2 +- .../engine/PrototypeProcessorExchangeFactory.java | 2 +- .../component/dataset/DataSetTestEndpointTest.java | 2 +- .../PopulateInitialHeadersFailedIssueTest.java | 2 +- .../component/ApiMethodPropertiesHelperTest.java | 2 +- .../org/apache/camel/support/AbstractExchange.java | 13 ----------- .../org/apache/camel/support/DefaultEndpoint.java | 2 +- .../org/apache/camel/support/DefaultExchange.java | 26 +++++++++++----------- .../camel/support/DefaultPooledExchange.java | 23 ++++++++++--------- 12 files changed, 36 insertions(+), 46 deletions(-) diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java index 7f97f7b265d..396c68ee55e 100644 --- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java +++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java @@ -97,7 +97,7 @@ public abstract class AbstractCamelInvocationHandler implements InvocationHandle @SuppressWarnings("unchecked") protected Object invokeProxy(final Method method, final ExchangePattern pattern, Object[] args, boolean binding) throws Throwable { - final Exchange exchange = new DefaultExchange(endpoint, pattern); + final Exchange exchange = DefaultExchange.newFromEndpoint(endpoint, pattern); //Need to check if there are mutiple arguments and the parameters have no annotations for binding, //then use the original bean invocation. @@ -172,7 +172,7 @@ public abstract class AbstractCamelInvocationHandler implements InvocationHandle } protected Object invokeWithBody(final Method method, Object body, final ExchangePattern pattern) throws Throwable { - final Exchange exchange = new DefaultExchange(endpoint, pattern); + final Exchange exchange = DefaultExchange.newFromEndpoint(endpoint, pattern); exchange.getIn().setBody(body); return doInvoke(method, exchange); diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java index f072adbf0fd..24392c5f280 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java @@ -123,7 +123,7 @@ public final class PooledExchangeFactory extends PrototypeExchangeFactory { private PooledExchange createPooledExchange(Endpoint fromEndpoint, boolean autoRelease) { PooledExchange answer; if (fromEndpoint != null) { - answer = new DefaultPooledExchange(fromEndpoint); + answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint); } else { answer = new DefaultPooledExchange(camelContext); } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java index 2f5b96f8c3d..5faa371bb80 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledProcessorExchangeFactory.java @@ -116,7 +116,7 @@ public class PooledProcessorExchangeFactory extends PrototypeProcessorExchangeFa Exchange answer = pool.poll(); if (answer == null) { // create a new exchange as there was no free from the pool - answer = new DefaultPooledExchange(fromEndpoint, exchangePattern); + answer = DefaultPooledExchange.newFromEndpoint(fromEndpoint, exchangePattern); if (statisticsEnabled) { statistics.created.increment(); } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java index a09aebf96cc..be8a697c10a 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeExchangeFactory.java @@ -101,7 +101,7 @@ public class PrototypeExchangeFactory extends PooledObjectFactorySupport<Exchang if (statisticsEnabled) { statistics.created.increment(); } - return new DefaultExchange(fromEndpoint); + return DefaultExchange.newFromEndpoint(fromEndpoint); } @Override diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java index 65de8f4966f..a8563983c9d 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PrototypeProcessorExchangeFactory.java @@ -92,7 +92,7 @@ public class PrototypeProcessorExchangeFactory extends PooledObjectFactorySuppor @Override public Exchange create(Endpoint fromEndpoint, ExchangePattern exchangePattern) { - return new DefaultExchange(fromEndpoint, exchangePattern); + return DefaultExchange.newFromEndpoint(fromEndpoint, exchangePattern); } @Override diff --git a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTestEndpointTest.java b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTestEndpointTest.java index 682dd112d59..2ac8646a72e 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTestEndpointTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetTestEndpointTest.java @@ -82,7 +82,7 @@ public class DataSetTestEndpointTest extends ContextTestSupport { @Override public Exchange createExchange(boolean autoRelease) { - return new DefaultExchange(getEndpoint()); + return DefaultExchange.newFromEndpoint(getEndpoint()); } @Override diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/PopulateInitialHeadersFailedIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/PopulateInitialHeadersFailedIssueTest.java index 4abb5ddbd1c..abfeabcdf46 100644 --- a/core/camel-core/src/test/java/org/apache/camel/issues/PopulateInitialHeadersFailedIssueTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/issues/PopulateInitialHeadersFailedIssueTest.java @@ -31,7 +31,7 @@ public class PopulateInitialHeadersFailedIssueTest extends ContextTestSupport { @Test public void testPopulateInitialHeadersFailed() throws Exception { - Exchange exchange = new DefaultExchange(context.getEndpoint("seda:start")); + Exchange exchange = DefaultExchange.newFromEndpoint(context.getEndpoint("seda:start")); exchange.setPattern(ExchangePattern.InOut); MyFaultMessage msg = new MyFaultMessage(exchange); exchange.setMessage(msg); diff --git a/core/camel-core/src/test/java/org/apache/camel/support/component/ApiMethodPropertiesHelperTest.java b/core/camel-core/src/test/java/org/apache/camel/support/component/ApiMethodPropertiesHelperTest.java index 2228bd74c2d..f500191353a 100644 --- a/core/camel-core/src/test/java/org/apache/camel/support/component/ApiMethodPropertiesHelperTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/support/component/ApiMethodPropertiesHelperTest.java @@ -56,7 +56,7 @@ public class ApiMethodPropertiesHelperTest { MockEndpoint mock = new MockEndpoint(null, new MockComponent(camelContext)); final HashMap<String, Object> properties = new HashMap<>(); - final DefaultExchange exchange = new DefaultExchange(mock); + final DefaultExchange exchange = DefaultExchange.newFromEndpoint(mock); exchange.getIn().setHeader(PROPERTY_1, VALUE_1); exchange.getIn().setHeader(PROPERTY_2, VALUE_2); exchange.getIn().setHeader(PROPERTY_3, VALUE_3); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java index 1a5b5e81009..6863605f176 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java @@ -133,19 +133,6 @@ abstract class AbstractExchange implements Exchange { } } - protected AbstractExchange(Endpoint fromEndpoint) { - this(fromEndpoint, fromEndpoint.getExchangePattern()); - } - - protected AbstractExchange(Endpoint fromEndpoint, ExchangePattern pattern) { - this.context = fromEndpoint.getCamelContext(); - this.pattern = pattern; - - internalProperties = new EnumMap<>(ExchangePropertyKey.class); - privateExtension = new ExtendedExchangeExtension(this); - privateExtension.setFromEndpoint(fromEndpoint); - } - @Override public long getCreated() { return getClock().getCreated(); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java index 5cac9b3202c..67a4ac5d016 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultEndpoint.java @@ -238,7 +238,7 @@ public abstract class DefaultEndpoint extends ServiceSupport implements Endpoint @Override public Exchange createExchange(ExchangePattern pattern) { - Exchange answer = new DefaultExchange(this, pattern); + Exchange answer = DefaultExchange.newFromEndpoint(this, pattern); configureExchange(answer); return answer; } 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 51bc0669bdb..77a34dbec27 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 @@ -63,16 +63,9 @@ public final class DefaultExchange extends AbstractExchange { this.timeInfo = parent.getClock(); } - public DefaultExchange(Endpoint fromEndpoint) { - super(fromEndpoint); - - this.timeInfo = new MonotonicClock(); - } - - public DefaultExchange(Endpoint fromEndpoint, ExchangePattern pattern) { - super(fromEndpoint, pattern); - - this.timeInfo = new MonotonicClock(); + @Override + public Clock getClock() { + return timeInfo; } @Override @@ -80,8 +73,15 @@ public final class DefaultExchange extends AbstractExchange { return new DefaultExchange(this); } - @Override - public Clock getClock() { - return timeInfo; + public static DefaultExchange newFromEndpoint(Endpoint fromEndpoint) { + return newFromEndpoint(fromEndpoint, fromEndpoint.getExchangePattern()); + } + + public static DefaultExchange newFromEndpoint(Endpoint fromEndpoint, ExchangePattern exchangePattern) { + DefaultExchange exchange = new DefaultExchange(fromEndpoint.getCamelContext(), exchangePattern); + + exchange.getExchangeExtension().setFromEndpoint(fromEndpoint); + + return exchange; } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java index cc09cbae7d4..a92fccb94e6 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultPooledExchange.java @@ -59,22 +59,14 @@ public final class DefaultPooledExchange extends AbstractExchange implements Poo } } - public DefaultPooledExchange(Endpoint fromEndpoint) { - super(fromEndpoint); + public DefaultPooledExchange(CamelContext context, ExchangePattern pattern) { + super(context, pattern); this.originalPattern = getPattern(); this.properties = new ConcurrentHashMap<>(8); this.clock = new ResetableClock(); } - public DefaultPooledExchange(Endpoint fromEndpoint, ExchangePattern pattern) { - super(fromEndpoint, pattern); - this.originalPattern = pattern; - this.properties = new ConcurrentHashMap<>(8); - - this.clock = new ResetableClock(); - } - @Override AbstractExchange newCopy() { // NOTE: this is the same behavior as done previously from AbstractExchange when returning a copy. @@ -186,4 +178,15 @@ public final class DefaultPooledExchange extends AbstractExchange implements Poo return clock; } + public static DefaultPooledExchange newFromEndpoint(Endpoint fromEndpoint) { + return newFromEndpoint(fromEndpoint, fromEndpoint.getExchangePattern()); + } + + public static DefaultPooledExchange newFromEndpoint(Endpoint fromEndpoint, ExchangePattern exchangePattern) { + DefaultPooledExchange exchange = new DefaultPooledExchange(fromEndpoint.getCamelContext(), exchangePattern); + + exchange.getExchangeExtension().setFromEndpoint(fromEndpoint); + + return exchange; + } }
