You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/12/15 11:48:21 UTC
(camel) 02/02: CAMEL-20234: remove the endpoint-based constructor
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 <an...@gmail.com>
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;
+ }
}