You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/10/26 09:49:01 UTC
[camel] branch master updated: CAMEL-15753: camel-core - Modularize
and move ConvertBodyProcessor to support as it has a supporting role
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
The following commit(s) were added to refs/heads/master by this push:
new 68161be CAMEL-15753: camel-core - Modularize and move ConvertBodyProcessor to support as it has a supporting role
68161be is described below
commit 68161be9829f3eb277e5b6fcf51af298d678b045
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Oct 26 10:28:42 2020 +0100
CAMEL-15753: camel-core - Modularize and move ConvertBodyProcessor to support as it has a supporting role
---
.../impl/engine/DefaultFluentProducerTemplate.java | 8 ++----
.../camel/impl/engine/DefaultProducerTemplate.java | 29 ++++++----------------
.../camel/processor/DefaultProcessorFactory.java | 3 ---
.../apache/camel/reifier/ConvertBodyReifier.java | 2 +-
.../apache/camel/processor/NavigateRouteTest.java | 1 +
.../DefaultManagementObjectStrategy.java | 2 +-
.../camel/management/mbean/ManagedConvertBody.java | 2 +-
.../support}/processor/ConvertBodyProcessor.java | 2 +-
.../ROOT/pages/camel-3x-upgrade-guide-3_7.adoc | 3 +++
9 files changed, 18 insertions(+), 34 deletions(-)
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
index 501a69a..4fb43f7 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultFluentProducerTemplate.java
@@ -33,9 +33,9 @@ import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
-import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.ProcessorFactory;
import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.processor.ConvertBodyProcessor;
import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.support.service.ServiceSupport;
import org.apache.camel.util.ObjectHelper;
@@ -66,11 +66,7 @@ public class DefaultFluentProducerTemplate extends ServiceSupport implements Flu
this.resultProcessors = new ClassValue<Processor>() {
@Override
protected Processor computeValue(Class<?> type) {
- try {
- return processorFactory.createProcessor(context, "ConvertBodyProcessor", new Object[] { type });
- } catch (Exception e) {
- throw RuntimeCamelException.wrapRuntimeException(e);
- }
+ return new ConvertBodyProcessor(type);
}
};
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
index fd015f9..bc07e00 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java
@@ -29,17 +29,15 @@ import org.apache.camel.CamelExecutionException;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
-import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Message;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.ProcessorFactory;
import org.apache.camel.spi.ProducerCache;
import org.apache.camel.spi.Synchronization;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.processor.ConvertBodyProcessor;
import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.support.service.ServiceSupport;
import org.apache.camel.util.ObjectHelper;
@@ -51,7 +49,6 @@ import org.apache.camel.util.concurrent.SynchronousExecutorService;
*/
public class DefaultProducerTemplate extends ServiceSupport implements ProducerTemplate {
private final CamelContext camelContext;
- private final ProcessorFactory processorFactory;
private volatile ProducerCache producerCache;
private volatile ExecutorService executor;
private Endpoint defaultEndpoint;
@@ -61,12 +58,10 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
public DefaultProducerTemplate(CamelContext camelContext) {
this.camelContext = camelContext;
- this.processorFactory = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory();
}
public DefaultProducerTemplate(CamelContext camelContext, ExecutorService executor) {
this.camelContext = camelContext;
- this.processorFactory = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory();
this.executor = executor;
}
@@ -405,7 +400,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
@Override
public <T> T requestBody(Endpoint endpoint, Object body, Class<T> type) {
Exchange exchange
- = send(endpoint, ExchangePattern.InOut, createSetBodyProcessor(body), createConvertBodyProcessor(type));
+ = send(endpoint, ExchangePattern.InOut, createSetBodyProcessor(body), new ConvertBodyProcessor(type));
Object answer = extractResultBody(exchange);
return camelContext.getTypeConverter().convertTo(type, answer);
}
@@ -414,7 +409,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
public <T> T requestBody(String endpointUri, Object body, Class<T> type) {
Endpoint endpoint = resolveMandatoryEndpoint(endpointUri);
Exchange exchange
- = send(endpoint, ExchangePattern.InOut, createSetBodyProcessor(body), createConvertBodyProcessor(type));
+ = send(endpoint, ExchangePattern.InOut, createSetBodyProcessor(body), new ConvertBodyProcessor(type));
Object answer = extractResultBody(exchange);
return camelContext.getTypeConverter().convertTo(type, answer);
}
@@ -422,7 +417,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
@Override
public <T> T requestBodyAndHeader(Endpoint endpoint, Object body, String header, Object headerValue, Class<T> type) {
Exchange exchange = send(endpoint, ExchangePattern.InOut, createBodyAndHeaderProcessor(body, header, headerValue),
- createConvertBodyProcessor(type));
+ new ConvertBodyProcessor(type));
Object answer = extractResultBody(exchange);
return camelContext.getTypeConverter().convertTo(type, answer);
}
@@ -431,7 +426,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
public <T> T requestBodyAndHeader(String endpointUri, Object body, String header, Object headerValue, Class<T> type) {
Endpoint endpoint = resolveMandatoryEndpoint(endpointUri);
Exchange exchange = send(endpoint, ExchangePattern.InOut, createBodyAndHeaderProcessor(body, header, headerValue),
- createConvertBodyProcessor(type));
+ new ConvertBodyProcessor(type));
Object answer = extractResultBody(exchange);
return camelContext.getTypeConverter().convertTo(type, answer);
}
@@ -440,7 +435,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
public <T> T requestBodyAndHeaders(String endpointUri, Object body, Map<String, Object> headers, Class<T> type) {
Endpoint endpoint = resolveMandatoryEndpoint(endpointUri);
Exchange exchange
- = send(endpoint, ExchangePattern.InOut, createBodyAndHeaders(body, headers), createConvertBodyProcessor(type));
+ = send(endpoint, ExchangePattern.InOut, createBodyAndHeaders(body, headers), new ConvertBodyProcessor(type));
Object answer = extractResultBody(exchange);
return camelContext.getTypeConverter().convertTo(type, answer);
}
@@ -448,7 +443,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
@Override
public <T> T requestBodyAndHeaders(Endpoint endpoint, Object body, Map<String, Object> headers, Class<T> type) {
Exchange exchange
- = send(endpoint, ExchangePattern.InOut, createBodyAndHeaders(body, headers), createConvertBodyProcessor(type));
+ = send(endpoint, ExchangePattern.InOut, createBodyAndHeaders(body, headers), new ConvertBodyProcessor(type));
Object answer = extractResultBody(exchange);
return camelContext.getTypeConverter().convertTo(type, answer);
}
@@ -558,14 +553,6 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
};
}
- protected Processor createConvertBodyProcessor(final Class<?> type) {
- try {
- return processorFactory.createProcessor(camelContext, "ConvertBodyProcessor", new Object[] { type });
- } catch (Exception e) {
- throw RuntimeCamelException.wrapRuntimeException(e);
- }
- }
-
protected Function<Exchange, Exchange> createCompletionFunction(Synchronization onCompletion) {
return answer -> {
// invoke callback before returning answer
@@ -715,7 +702,7 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT
}
protected <T> CompletableFuture<T> asyncRequestBody(final Endpoint endpoint, Processor processor, final Class<T> type) {
- return asyncRequestBody(endpoint, processor, createConvertBodyProcessor(type))
+ return asyncRequestBody(endpoint, processor, new ConvertBodyProcessor(type))
.thenApply(answer -> camelContext.getTypeConverter().convertTo(type, answer));
}
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/DefaultProcessorFactory.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/DefaultProcessorFactory.java
index e4d7f31..f333d1a 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/DefaultProcessorFactory.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/DefaultProcessorFactory.java
@@ -102,9 +102,6 @@ public class DefaultProcessorFactory implements ProcessorFactory {
return new MulticastProcessor(
camelContext, null, processors, null, true, executor, shutdownExecutorService, false, false, 0,
null, false, false);
- } else if ("ConvertBodyProcessor".equals(definitionName)) {
- Class<?> type = (Class<?>) args[0];
- return new ConvertBodyProcessor(type);
}
return null;
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java
index 0c109eb..78fa218 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java
@@ -23,7 +23,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.model.ConvertBodyDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.processor.ConvertBodyProcessor;
+import org.apache.camel.support.processor.ConvertBodyProcessor;
public class ConvertBodyReifier extends ProcessorReifier<ConvertBodyDefinition> {
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/NavigateRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/NavigateRouteTest.java
index 6a41a74..9adc263 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/NavigateRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/NavigateRouteTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.Navigate;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.support.processor.ConvertBodyProcessor;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index 5e943dd..8565de8 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -127,7 +127,6 @@ import org.apache.camel.model.ValidateDefinition;
import org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition;
import org.apache.camel.processor.ChoiceProcessor;
import org.apache.camel.processor.ClaimCheckProcessor;
-import org.apache.camel.processor.ConvertBodyProcessor;
import org.apache.camel.processor.Delayer;
import org.apache.camel.processor.DynamicRouter;
import org.apache.camel.processor.Enricher;
@@ -179,6 +178,7 @@ import org.apache.camel.spi.ManagementObjectStrategy;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.SupervisingRouteController;
import org.apache.camel.support.ScheduledPollConsumer;
+import org.apache.camel.support.processor.ConvertBodyProcessor;
import org.apache.camel.support.processor.MarshalProcessor;
import org.apache.camel.support.processor.PredicateValidatingProcessor;
import org.apache.camel.support.processor.ThroughputLogger;
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedConvertBody.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedConvertBody.java
index d7703ad..00a5488 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedConvertBody.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedConvertBody.java
@@ -20,7 +20,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.api.management.mbean.ManagedConvertBodyMBean;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.processor.ConvertBodyProcessor;
+import org.apache.camel.support.processor.ConvertBodyProcessor;
@ManagedResource(description = "Managed ConvertBody")
public class ManagedConvertBody extends ManagedProcessor implements ManagedConvertBodyMBean {
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConvertBodyProcessor.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertBodyProcessor.java
similarity index 99%
rename from core/camel-core-processor/src/main/java/org/apache/camel/processor/ConvertBodyProcessor.java
rename to core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertBodyProcessor.java
index d1b0e7b..e856723 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ConvertBodyProcessor.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/ConvertBodyProcessor.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.processor;
+package org.apache.camel.support.processor;
import java.util.concurrent.CompletableFuture;
diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_7.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_7.adoc
index 9e071d5..36810ed 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_7.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_7.adoc
@@ -31,6 +31,9 @@ The class `org.apache.camel.impl.transformer.TransformerKey` moved to `org.apach
And the class `org.apache.camel.impl.DefaultExecutorServiceManager` is moved from `camel-core-engine` JAR to
`org.apache.camel.impl.engine.DefaultExecutorServiceManager` in the `camel-base` JAR.
+The class `org.apache.camel.processor.ConvertBodyProcessor` is moved
+to `org.apache.camel.support.ConvertBodyProcessor` in the `camel-support` JAR.
+
=== ProcessorFactory
If a custom `org.apache.camel.spi.ProcessorFactory` is in use, then the factory should extend the default implementation