You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2018/10/12 11:26:25 UTC
[camel] 21/44: [api] Improve api cohesiveness
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch sandbox/camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5ad8fe84f7c93216dc7b034ae61f4e966fd42c2d
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Sep 27 20:32:55 2018 +0200
[api] Improve api cohesiveness
---
.../main/java/org/apache/camel/CamelContext.java | 307 ---------------------
.../camel/builder/ErrorHandlerBuilderRef.java | 8 +-
.../camel/builder/ErrorHandlerBuilderSupport.java | 4 +-
.../extension/ComponentVerifierExtension.java | 12 +-
.../ComponentVerifierExtensionHelper.java | 29 +-
.../camel/converter/TimePatternConverter.java | 113 +-------
.../camel/health/HealthCheckConfiguration.java | 6 +-
.../org/apache/camel/impl/BreakpointSupport.java | 8 +-
.../org/apache/camel/impl/ConditionSupport.java | 4 +-
.../org/apache/camel/impl/DefaultCamelContext.java | 160 ++---------
.../org/apache/camel/impl/DefaultDebugger.java | 16 +-
.../apache/camel/impl/DefaultProcessorFactory.java | 6 +-
.../org/apache/camel/impl/DefaultRouteContext.java | 5 +-
.../apache/camel/impl/DefaultRouteController.java | 12 +-
.../camel/impl/DefaultRouteStartupOrder.java | 6 +-
.../apache/camel/impl/DefaultShutdownStrategy.java | 18 +-
.../camel/impl/DurationRoutePolicyFactory.java | 4 +-
.../java/org/apache/camel/impl/RouteService.java | 6 +-
.../camel/impl/SupervisingRouteController.java | 7 +-
.../apache/camel/impl/TypedProcessorFactory.java | 5 +-
.../impl/cloud/ServiceRegistrationRoutePolicy.java | 4 +-
.../ServiceRegistrationRoutePolicyFactory.java | 4 +-
.../impl/cluster/ClusteredRouteController.java | 4 +-
.../camel/impl/cluster/ClusteredRoutePolicy.java | 10 +-
.../impl/cluster/ClusteredRoutePolicyFactory.java | 4 +-
.../impl/health/DefaultHealthCheckRegistry.java | 2 -
.../apache/camel/impl/health/RouteHealthCheck.java | 5 +-
.../DefaultManagementLifecycleStrategy.java | 2 +-
.../DefaultManagementObjectStrategy.java | 5 +-
.../management/DefaultManagementStrategy.java | 3 +-
.../InstrumentationInterceptStrategy.java | 3 +-
.../camel/management/ManagedCamelContext.java | 50 ++++
.../management/ManagedManagementStrategy.java | 3 +-
.../management/mbean/RouteCoverageXmlParser.java | 7 +-
.../camel/model/DynamicRouterDefinition.java | 3 +-
.../apache/camel/model/InterceptDefinition.java | 5 +-
.../model/InterceptSendToEndpointDefinition.java | 2 +-
.../apache/camel/model/OnCompletionDefinition.java | 3 +-
.../apache/camel/model/OnExceptionDefinition.java | 3 +-
.../apache/camel/model/ProcessorDefinition.java | 3 +-
.../camel/model/ProcessorDefinitionHelper.java | 7 +-
.../org/apache/camel/model/RouteDefinition.java | 16 +-
.../apache/camel/model/RoutingSlipDefinition.java | 3 +-
.../org/apache/camel/model/SortDefinition.java | 6 +-
.../camel/model/cloud/ServiceCallDefinition.java | 5 +-
.../camel/processor/CamelInternalProcessor.java | 7 +-
.../apache/camel/processor/MulticastProcessor.java | 4 +-
.../org/apache/camel/processor/Resequencer.java | 23 +-
.../DefaultExceptionPolicyStrategy.java | 2 +-
.../processor/interceptor/BacklogDebugger.java | 13 +-
.../camel/processor/interceptor/BacklogTracer.java | 3 +-
.../apache/camel/processor/interceptor/Debug.java | 4 +-
.../camel/processor/interceptor/HandleFault.java | 6 +-
.../main/java/org/apache/camel/spi/Breakpoint.java | 20 +-
.../org/apache/camel/spi/CamelContextTracker.java | 33 ++-
.../main/java/org/apache/camel/spi/Condition.java | 4 +-
.../main/java/org/apache/camel/spi/Debugger.java | 6 +-
.../org/apache/camel/spi/InterceptStrategy.java | 6 +-
.../java/org/apache/camel/spi/LogListener.java | 9 +-
.../apache/camel/spi/ManagementObjectStrategy.java | 4 +-
.../org/apache/camel/spi/ManagementStrategy.java | 5 +-
.../src/main/java/org/apache/camel/spi/Policy.java | 6 +-
.../org/apache/camel/spi/ProcessorFactory.java | 6 +-
.../java/org/apache/camel/spi/RouteContext.java | 12 +-
.../java/org/apache/camel/spi/RouteController.java | 81 +++++-
.../org/apache/camel/spi/RoutePolicyFactory.java | 4 +-
.../java/org/apache/camel/spi/Transformer.java | 9 +-
.../main/java/org/apache/camel/spi/Validator.java | 9 +-
.../java/org/apache/camel/util/ObjectHelper.java | 32 ---
.../main/java/org/apache/camel/util/TimeUtils.java | 117 +++++++-
.../apache/camel/util/function/ThrowingHelper.java | 32 +++
.../component/rest/FromRestGetPolicyTest.java | 4 +-
.../org/apache/camel/impl/CustomIdFactoryTest.java | 7 +-
.../impl/DefaultCamelContextAutoStartupTest.java | 16 +-
.../apache/camel/impl/RoutePolicyFactoryTest.java | 4 +-
.../apache/camel/impl/StartAndStopRoutesTest.java | 5 +-
.../apache/camel/issues/AdviceWithPolicyTest.java | 4 +-
.../issues/AdviceWithStartTargetIssueTest.java | 4 +-
.../camel/issues/AdviceWithTransactedTest.java | 4 +-
.../issues/DynamicRouterWithInterceptorTest.java | 4 +-
.../issues/RecipientListWithInterceptorTest.java | 4 +-
.../issues/RoutingSlipWithInterceptorTest.java | 4 +-
.../camel/issues/SplitWithInterceptorTest.java | 4 +-
.../TransactedPropertyPlaceholderIssueTest.java | 4 +-
.../apache/camel/issues/TwoTimerWithJMXIssue.java | 4 +-
.../management/ManagedAggregateControllerTest.java | 2 +-
.../camel/management/ManagedCamelContextTest.java | 2 +-
.../camel/management/ManagedCustomPolicyTest.java | 4 +-
.../management/ManagedInlinedProcessorTest.java | 2 +-
.../ManagedRouteSuspendAndResumeTest.java | 2 +-
.../management/RemoveRouteDefinitionTest.java | 8 +-
.../model/LoadRouteFromXmlWithPolicyTest.java | 3 +-
.../processor/CustomProcessorFactoryTest.java | 6 +-
.../DefinitionPolicyPerProcessorTest.java | 6 +-
.../camel/processor/PipelineStepWithEventTest.java | 4 +-
.../camel/processor/PolicyPerProcessorTest.java | 4 +-
.../apache/camel/processor/PolicyPerRouteTest.java | 4 +-
.../AsyncEndpointCustomAsyncInterceptorTest.java | 4 +-
.../async/AsyncEndpointCustomInterceptorTest.java | 4 +-
.../processor/async/AsyncEndpointPolicyTest.java | 4 +-
.../ParentChildInterceptStrategyTest.java | 5 +-
.../AuditInterceptorAsyncDelegateIssueTest.java | 4 +-
.../AuditInterceptorDelegateIssueTest.java | 4 +-
.../CustomInterceptorRouteWithChildOutputTest.java | 6 +-
.../interceptor/DebugExceptionBreakpointTest.java | 6 +-
.../DebugExceptionEventBreakpointTest.java | 4 +-
.../interceptor/DebugSingleStepConditionTest.java | 6 +-
.../processor/interceptor/DebugSingleStepTest.java | 4 +-
.../camel/processor/interceptor/DebugTest.java | 10 +-
.../InterceptorStrategyNotOrderedTest.java | 6 +-
.../InterceptorStrategyOrderedTest.java | 6 +-
.../component/aws/xray/EIPTracingStrategy.java | 4 +-
.../component/aws/xray/NoopTracingStrategy.java | 4 +-
.../aws/xray/TraceAnnotatedTracingStrategy.java | 6 +-
.../camel/component/aws/xray/XRayTracer.java | 4 +-
.../org/apache/camel/cdi/CdiCamelExtension.java | 2 +-
.../cdi/transaction/JtaTransactionPolicy.java | 11 +-
.../component/ehcache/EhcacheConfiguration.java | 3 +-
.../infinispan/policy/InfinispanRoutePolicy.java | 4 +-
...sumerObserveAttributeMatchStringDifferTest.java | 8 +-
...JmxConsumerObserveAttributeMatchStringTest.java | 8 +-
.../jmx/CamelJmxConsumerObserveAttributeTest.java | 4 +-
.../camel/component/jmx/CamelJmxConsumerTest.java | 2 +-
.../routepolicy/MetricsRoutePolicyFactory.java | 4 +-
.../routepolicy/MicrometerRoutePolicyFactory.java | 4 +-
.../camel/opentracing/OpenTracingTracer.java | 3 +-
.../apache/camel/opentracing/SpanDecorator.java | 8 +-
.../component/quartz2/QuartzNameCollisionTest.java | 2 +-
.../shiro/security/ShiroSecurityPolicy.java | 4 +-
.../boot/actuate/endpoint/CamelRoutesEndpoint.java | 5 +-
.../camel/spring/boot/model/RouteDetailsInfo.java | 2 +-
.../SpringSecurityAuthorizationPolicy.java | 4 +-
.../camel/spring/spi/SpringTransactionPolicy.java | 10 +-
.../camel/spring/CamelLoadRoutesFromXMLTest.java | 20 +-
.../spring/config/CamelContextAutoStartupTest.java | 4 +-
.../config/RouteAutoStartupPropertiesTest.java | 6 +-
.../interceptor/ContainerWideInterceptor.java | 4 +-
.../camel/test/spring/RouteCoverageDumper.java | 3 +-
.../CamelSpringRunnerProvidesBreakpointTest.java | 4 +-
.../apache/camel/test/junit4/CamelTestSupport.java | 17 +-
.../java/org/apache/camel/zipkin/ZipkinTracer.java | 4 +-
.../zookeeper/policy/CuratorLeaderRoutePolicy.java | 4 +-
.../CuratorMultiMasterLeaderRoutePolicy.java | 4 +-
.../commands/AbstractLocalCamelController.java | 3 +-
.../commands/internal/CamelControllerImpl.java | 8 +-
.../HystrixHierarchicalConfigurationTest.java | 3 +-
.../camel/itest/issues/DummyInterceptor.java | 4 +-
147 files changed, 755 insertions(+), 986 deletions(-)
diff --git a/camel-core/src/main/java/org/apache/camel/CamelContext.java b/camel-core/src/main/java/org/apache/camel/CamelContext.java
index dd31ddf..2ebcb1e 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java
@@ -17,27 +17,14 @@
package org.apache.camel;
import java.io.IOException;
-import java.io.InputStream;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
-import org.apache.camel.api.management.mbean.ManagedProcessorMBean;
-import org.apache.camel.api.management.mbean.ManagedRouteMBean;
import org.apache.camel.health.HealthCheckRegistry;
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.model.RoutesDefinition;
-import org.apache.camel.model.rest.RestDefinition;
-import org.apache.camel.model.rest.RestsDefinition;
-import org.apache.camel.model.transformer.TransformerDefinition;
-import org.apache.camel.model.validator.ValidatorDefinition;
import org.apache.camel.runtimecatalog.RuntimeCamelCatalog;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.CamelContextNameStrategy;
@@ -535,35 +522,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
void setupRoutes(boolean done);
/**
- * Returns a list of the current route definitions
- *
- * @return list of the current route definitions
- */
- List<RouteDefinition> getRouteDefinitions();
-
- /**
- * Gets the route definition with the given id
- *
- * @param id id of the route
- * @return the route definition or <tt>null</tt> if not found
- */
- RouteDefinition getRouteDefinition(String id);
-
- /**
- * Returns a list of the current REST definitions
- *
- * @return list of the current REST definitions
- */
- List<RestDefinition> getRestDefinitions();
-
- /**
- * Adds a collection of rest definitions to the context
- *
- * @param restDefinitions the rest(s) definition to add
- */
- void addRestDefinitions(Collection<RestDefinition> restDefinitions) throws Exception;
-
- /**
* Sets a custom {@link org.apache.camel.spi.RestConfiguration}
*
* @param restConfiguration the REST configuration
@@ -643,49 +601,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
<T extends Processor> T getProcessor(String id, Class<T> type);
/**
- * Gets the managed processor client api from any of the routes which with the given id
- *
- * @param id id of the processor
- * @param type the managed processor type from the {@link org.apache.camel.api.management.mbean} package.
- * @return the processor or <tt>null</tt> if not found
- * @throws IllegalArgumentException if the type is not compliant
- */
- <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type);
-
- /**
- * Gets the managed route client api with the given route id
- *
- * @param routeId id of the route
- * @param type the managed route type from the {@link org.apache.camel.api.management.mbean} package.
- * @return the route or <tt>null</tt> if not found
- * @throws IllegalArgumentException if the type is not compliant
- */
- <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type);
-
- /**
- * Gets the managed Camel CamelContext client api
- */
- ManagedCamelContextMBean getManagedCamelContext();
-
- /**
- * Gets the processor definition from any of the routes which with the given id
- *
- * @param id id of the processor definition
- * @return the processor definition or <tt>null</tt> if not found
- */
- ProcessorDefinition getProcessorDefinition(String id);
-
- /**
- * Gets the processor definition from any of the routes which with the given id
- *
- * @param id id of the processor definition
- * @param type the processor definition type
- * @return the processor definition or <tt>null</tt> if not found
- * @throws java.lang.ClassCastException is thrown if the type is not correct type
- */
- <T extends ProcessorDefinition> T getProcessorDefinition(String id, Class<T> type);
-
- /**
* Adds a collection of routes to this CamelContext using the given builder
* to build them.
* <p/>
@@ -703,142 +618,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
void addRoutes(RoutesBuilder builder) throws Exception;
/**
- * Loads a collection of route definitions from the given {@link java.io.InputStream}.
- *
- * @param is input stream with the route(s) definition to add
- * @throws Exception if the route definitions could not be loaded for whatever reason
- * @return the route definitions
- */
- RoutesDefinition loadRoutesDefinition(InputStream is) throws Exception;
-
- /**
- * Loads a collection of rest definitions from the given {@link java.io.InputStream}.
- *
- * @param is input stream with the rest(s) definition to add
- * @throws Exception if the rest definitions could not be loaded for whatever reason
- * @return the rest definitions
- */
- RestsDefinition loadRestsDefinition(InputStream is) throws Exception;
-
- /**
- * Adds a collection of route definitions to the context
- *
- * @param routeDefinitions the route(s) definition to add
- * @throws Exception if the route definitions could not be created for whatever reason
- */
- void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception;
-
- /**
- * Add a route definition to the context
- *
- * @param routeDefinition the route definition to add
- * @throws Exception if the route definition could not be created for whatever reason
- */
- void addRouteDefinition(RouteDefinition routeDefinition) throws Exception;
-
- /**
- * Removes a collection of route definitions from the CamelContext - stopping any previously running
- * routes if any of them are actively running
- *
- * @param routeDefinitions route(s) definitions to remove
- * @throws Exception if the route definitions could not be removed for whatever reason
- */
- void removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception;
-
- /**
- * Removes a route definition from the CamelContext - stopping any previously running
- * routes if any of them are actively running
- *
- * @param routeDefinition route definition to remove
- * @throws Exception if the route definition could not be removed for whatever reason
- */
- void removeRouteDefinition(RouteDefinition routeDefinition) throws Exception;
-
- /**
- * Starts the given route if it has been previously stopped
- *
- * @param route the route to start
- * @throws Exception is thrown if the route could not be started for whatever reason
- * @deprecated favor using {@link CamelContext#startRoute(String)}
- */
- @Deprecated
- void startRoute(RouteDefinition route) throws Exception;
-
- /**
- * Starts the given route if it has been previously stopped
- *
- * @param routeId the route id
- * @throws Exception is thrown if the route could not be started for whatever reason
- */
- void startRoute(String routeId) throws Exception;
-
- /**
- * Stops the given route.
- *
- * @param route the route to stop
- * @throws Exception is thrown if the route could not be stopped for whatever reason
- * @deprecated favor using {@link CamelContext#stopRoute(String)}
- */
- @Deprecated
- void stopRoute(RouteDefinition route) throws Exception;
-
- /**
- * Stops the given route using {@link org.apache.camel.spi.ShutdownStrategy}.
- *
- * @param routeId the route id
- * @throws Exception is thrown if the route could not be stopped for whatever reason
- * @see #suspendRoute(String)
- */
- void stopRoute(String routeId) throws Exception;
-
- /**
- * Stops the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout.
- *
- * @param routeId the route id
- * @param timeout timeout
- * @param timeUnit the unit to use
- * @throws Exception is thrown if the route could not be stopped for whatever reason
- * @see #suspendRoute(String, long, java.util.concurrent.TimeUnit)
- */
- void stopRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception;
-
- /**
- * Stops the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout
- * and optional abortAfterTimeout mode.
- *
- * @param routeId the route id
- * @param timeout timeout
- * @param timeUnit the unit to use
- * @param abortAfterTimeout should abort shutdown after timeout
- * @return <tt>true</tt> if the route is stopped before the timeout
- * @throws Exception is thrown if the route could not be stopped for whatever reason
- * @see #suspendRoute(String, long, java.util.concurrent.TimeUnit)
- */
- boolean stopRoute(String routeId, long timeout, TimeUnit timeUnit, boolean abortAfterTimeout) throws Exception;
-
- /**
- * Shutdown and <b>removes</b> the given route using {@link org.apache.camel.spi.ShutdownStrategy}.
- *
- * @param routeId the route id
- * @throws Exception is thrown if the route could not be shutdown for whatever reason
- * @deprecated use {@link #stopRoute(String)} and {@link #removeRoute(String)}
- */
- @Deprecated
- void shutdownRoute(String routeId) throws Exception;
-
- /**
- * Shutdown and <b>removes</b> the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout.
- *
- * @param routeId the route id
- * @param timeout timeout
- * @param timeUnit the unit to use
- * @throws Exception is thrown if the route could not be shutdown for whatever reason
- * @deprecated use {@link #stopRoute(String, long, java.util.concurrent.TimeUnit)} and {@link #removeRoute(String)}
- */
- @Deprecated
- void shutdownRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception;
-
- /**
* Removes the given route (the route <b>must</b> be stopped before it can be removed).
* <p/>
* A route which is removed will be unregistered from JMX, have its services stopped/shutdown and the route
@@ -862,56 +641,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
boolean removeRoute(String routeId) throws Exception;
/**
- * Resumes the given route if it has been previously suspended
- * <p/>
- * If the route does <b>not</b> support suspension the route will be started instead
- *
- * @param routeId the route id
- * @throws Exception is thrown if the route could not be resumed for whatever reason
- */
- void resumeRoute(String routeId) throws Exception;
-
- /**
- * Suspends the given route using {@link org.apache.camel.spi.ShutdownStrategy}.
- * <p/>
- * Suspending a route is more gently than stopping, as the route consumers will be suspended (if they support)
- * otherwise the consumers will be stopped.
- * <p/>
- * By suspending the route services will be kept running (if possible) and therefore its faster to resume the route.
- * <p/>
- * If the route does <b>not</b> support suspension the route will be stopped instead
- *
- * @param routeId the route id
- * @throws Exception is thrown if the route could not be suspended for whatever reason
- */
- void suspendRoute(String routeId) throws Exception;
-
- /**
- * Suspends the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout.
- * <p/>
- * Suspending a route is more gently than stopping, as the route consumers will be suspended (if they support)
- * otherwise the consumers will be stopped.
- * <p/>
- * By suspending the route services will be kept running (if possible) and therefore its faster to resume the route.
- * <p/>
- * If the route does <b>not</b> support suspension the route will be stopped instead
- *
- * @param routeId the route id
- * @param timeout timeout
- * @param timeUnit the unit to use
- * @throws Exception is thrown if the route could not be suspended for whatever reason
- */
- void suspendRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception;
-
- /**
- * Returns the current status of the given route
- *
- * @param routeId the route id
- * @return the status for the route
- */
- ServiceStatus getRouteStatus(String routeId);
-
- /**
* Indicates whether current thread is setting up route(s) as part of starting Camel from spring/blueprint.
* <p/>
* This can be useful to know by {@link LifecycleStrategy} or the likes, in case
@@ -1180,14 +909,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
DataFormat createDataFormat(String name);
/**
- * Resolve a data format definition given its name
- *
- * @param name the data format definition name or a reference to it in the {@link Registry}
- * @return the resolved data format definition, or <tt>null</tt> if not found
- */
- DataFormatDefinition resolveDataFormatDefinition(String name);
-
- /**
* Gets the current data format resolver
*
* @return the resolver
@@ -1202,20 +923,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
void setDataFormatResolver(DataFormatResolver dataFormatResolver);
/**
- * Sets the transformers that can be referenced in the routes.
- *
- * @param transformers the transformers
- */
- void setTransformers(List<TransformerDefinition> transformers);
-
- /**
- * Gets the transformers that can be referenced in the routes.
- *
- * @return the transformers available
- */
- List<TransformerDefinition> getTransformers();
-
- /**
* Resolve a transformer given a scheme
*
* @param model data model name.
@@ -1239,20 +946,6 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
TransformerRegistry<? extends ValueHolder<String>> getTransformerRegistry();
/**
- * Sets the validators that can be referenced in the routes.
- *
- * @param validators the validators
- */
- void setValidators(List<ValidatorDefinition> validators);
-
- /**
- * Gets the validators that can be referenced in the routes.
- *
- * @return the validators available
- */
- List<ValidatorDefinition> getValidators();
-
- /**
* Resolve a validator given from/to data type.
*
* @param type the data type
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java b/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
index 7915647..fa997f3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
@@ -24,6 +24,7 @@ import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Processor;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.OnExceptionDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
@@ -118,9 +119,10 @@ public class ErrorHandlerBuilderRef extends ErrorHandlerBuilderSupport {
// the transacted error handler could have been configured on the route so we should use that one
if (!isErrorHandlerBuilderConfigured(ref)) {
// see if there has been configured a route builder on the route
- answer = routeContext.getRoute().getErrorHandlerBuilder();
- if (answer == null && routeContext.getRoute().getErrorHandlerRef() != null) {
- answer = routeContext.lookup(routeContext.getRoute().getErrorHandlerRef(), ErrorHandlerBuilder.class);
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ answer = route.getErrorHandlerBuilder();
+ if (answer == null && route.getErrorHandlerRef() != null) {
+ answer = routeContext.lookup(route.getErrorHandlerRef(), ErrorHandlerBuilder.class);
}
if (answer == null) {
// fallback to the default error handler if none configured on the route
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java b/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java
index 44feecf..fbc41b3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.model.OnExceptionDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.processor.ErrorHandler;
import org.apache.camel.processor.ErrorHandlerSupport;
import org.apache.camel.processor.RedeliveryErrorHandler;
@@ -122,7 +123,8 @@ public abstract class ErrorHandlerBuilderSupport implements ErrorHandlerBuilder
protected String getRouteId(RouteContext routeContext) {
CamelContext context = routeContext.getCamelContext();
if (context != null) {
- return routeContext.getRoute().idOrCreate(context.getNodeIdFactory());
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ return route.idOrCreate(context.getNodeIdFactory());
} else {
return routeContext.getRoute().getId();
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtension.java b/camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtension.java
index d2f9287..ddc2865 100644
--- a/camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtension.java
+++ b/camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtension.java
@@ -22,12 +22,12 @@ import java.util.Map;
import java.util.Set;
import org.apache.camel.Component;
-import org.apache.camel.component.extension.verifier.ComponentVerifierExtensionHelper.ErrorAttribute;
-import org.apache.camel.component.extension.verifier.ComponentVerifierExtensionHelper.ErrorCode;
-import org.apache.camel.component.extension.verifier.ComponentVerifierExtensionHelper.ExceptionErrorAttribute;
-import org.apache.camel.component.extension.verifier.ComponentVerifierExtensionHelper.GroupErrorAttribute;
-import org.apache.camel.component.extension.verifier.ComponentVerifierExtensionHelper.HttpErrorAttribute;
-import org.apache.camel.component.extension.verifier.ComponentVerifierExtensionHelper.StandardErrorCode;
+import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.ErrorAttribute;
+import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.ErrorCode;
+import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.ExceptionErrorAttribute;
+import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.GroupErrorAttribute;
+import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.HttpErrorAttribute;
+import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.StandardErrorCode;
import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
import org.apache.camel.util.ObjectHelper;
diff --git a/camel-core/src/main/java/org/apache/camel/component/extension/verifier/ComponentVerifierExtensionHelper.java b/camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtensionHelper.java
similarity index 79%
rename from camel-core/src/main/java/org/apache/camel/component/extension/verifier/ComponentVerifierExtensionHelper.java
rename to camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtensionHelper.java
index 583ccf7..bbe4780 100644
--- a/camel-core/src/main/java/org/apache/camel/component/extension/verifier/ComponentVerifierExtensionHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/component/extension/ComponentVerifierExtensionHelper.java
@@ -14,9 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.extension.verifier;
+package org.apache.camel.component.extension;
-import org.apache.camel.component.extension.ComponentVerifierExtension;
import org.apache.camel.component.extension.ComponentVerifierExtension.VerificationError.Attribute;
import org.apache.camel.component.extension.ComponentVerifierExtension.VerificationError.Code;
import org.apache.camel.component.extension.ComponentVerifierExtension.VerificationError.ExceptionAttribute;
@@ -28,16 +27,16 @@ import org.apache.camel.component.extension.ComponentVerifierExtension.Verificat
* Package visible helper class holding implementation classes for
* constant like error code and attributes in {@link ComponentVerifierExtension.VerificationError}
*/
-public final class ComponentVerifierExtensionHelper {
+final class ComponentVerifierExtensionHelper {
/**
* Custom class for error codes
*/
- public static class ErrorCode implements Code {
+ static class ErrorCode implements Code {
private final String name;
- public ErrorCode(String name) {
+ ErrorCode(String name) {
if (name == null) {
throw new IllegalArgumentException("Name of an error code must not be null");
}
@@ -74,11 +73,11 @@ public final class ComponentVerifierExtensionHelper {
}
}
- public static class ErrorAttribute implements Attribute {
+ static class ErrorAttribute implements Attribute {
private final String name;
- public ErrorAttribute(String name) {
+ ErrorAttribute(String name) {
if (name == null) {
throw new IllegalArgumentException("Name of an error attribute must not be null");
}
@@ -119,26 +118,26 @@ public final class ComponentVerifierExtensionHelper {
// ===========================================================================================================
// Helper classes for implementing the constants in ComponentVerifier:
- public static class StandardErrorCode extends ErrorCode implements StandardCode {
- public StandardErrorCode(String name) {
+ static class StandardErrorCode extends ErrorCode implements StandardCode {
+ StandardErrorCode(String name) {
super(name);
}
}
- public static class ExceptionErrorAttribute extends ErrorAttribute implements ExceptionAttribute {
- public ExceptionErrorAttribute(String name) {
+ static class ExceptionErrorAttribute extends ErrorAttribute implements ExceptionAttribute {
+ ExceptionErrorAttribute(String name) {
super(name);
}
}
- public static class HttpErrorAttribute extends ErrorAttribute implements HttpAttribute {
- public HttpErrorAttribute(String name) {
+ static class HttpErrorAttribute extends ErrorAttribute implements HttpAttribute {
+ HttpErrorAttribute(String name) {
super(name);
}
}
- public static class GroupErrorAttribute extends ErrorAttribute implements GroupAttribute {
- public GroupErrorAttribute(String name) {
+ static class GroupErrorAttribute extends ErrorAttribute implements GroupAttribute {
+ GroupErrorAttribute(String name) {
super(name);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/converter/TimePatternConverter.java b/camel-core/src/main/java/org/apache/camel/converter/TimePatternConverter.java
index f257a44..f40b447 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/TimePatternConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/TimePatternConverter.java
@@ -16,12 +16,8 @@
*/
package org.apache.camel.converter;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import org.apache.camel.Converter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.util.TimeUtils;
/**
* Converter from String syntax to milli seconds.
@@ -29,11 +25,6 @@ import org.slf4j.LoggerFactory;
*/
@Converter
public final class TimePatternConverter {
- private static final Logger LOG = LoggerFactory.getLogger(TimePatternConverter.class);
- private static final Pattern NUMBERS_ONLY_STRING_PATTERN = Pattern.compile("^[-]?(\\d)+$", Pattern.CASE_INSENSITIVE);
- private static final Pattern HOUR_REGEX_PATTERN = Pattern.compile("((\\d)*(\\d))h(our(s)?)?", Pattern.CASE_INSENSITIVE);
- private static final Pattern MINUTES_REGEX_PATTERN = Pattern.compile("((\\d)*(\\d))m(in(ute(s)?)?)?", Pattern.CASE_INSENSITIVE);
- private static final Pattern SECONDS_REGEX_PATTERN = Pattern.compile("((\\d)*(\\d))s(ec(ond)?(s)?)?", Pattern.CASE_INSENSITIVE);
/**
* Utility classes should not have a public constructor.
@@ -43,106 +34,6 @@ public final class TimePatternConverter {
@Converter
public static long toMilliSeconds(String source) throws IllegalArgumentException {
- // quick conversion if its only digits
- boolean digit = true;
- for (int i = 0; i < source.length(); i++) {
- char ch = source.charAt(i);
- // special for fist as it can be negative number
- if (i == 0 && ch == '-') {
- continue;
- }
- // quick check if its 0..9
- if (ch < '0' || ch > '9') {
- digit = false;
- break;
- }
- }
- if (digit) {
- return Long.valueOf(source);
- }
-
- long milliseconds = 0;
- boolean foundFlag = false;
-
- checkCorrectnessOfPattern(source);
- Matcher matcher;
-
- matcher = createMatcher(NUMBERS_ONLY_STRING_PATTERN, source);
- if (matcher.find()) {
- // Note: This will also be used for regular numeric strings.
- // This String -> long converter will be used for all strings.
- milliseconds = Long.valueOf(source);
- } else {
- matcher = createMatcher(HOUR_REGEX_PATTERN, source);
- if (matcher.find()) {
- milliseconds = milliseconds + (3600000 * Long.valueOf(matcher.group(1)));
- foundFlag = true;
- }
-
- matcher = createMatcher(MINUTES_REGEX_PATTERN, source);
- if (matcher.find()) {
- long minutes = Long.valueOf(matcher.group(1));
- if ((minutes > 59) && foundFlag) {
- throw new IllegalArgumentException("Minutes should contain a valid value between 0 and 59: " + source);
- }
- foundFlag = true;
- milliseconds = milliseconds + (60000 * minutes);
- }
-
- matcher = createMatcher(SECONDS_REGEX_PATTERN, source);
- if (matcher.find()) {
- long seconds = Long.valueOf(matcher.group(1));
- if ((seconds > 59) && foundFlag) {
- throw new IllegalArgumentException("Seconds should contain a valid value between 0 and 59: " + source);
- }
- foundFlag = true;
- milliseconds = milliseconds + (1000 * seconds);
- }
-
- // No pattern matched... initiating fallback check and conversion (if required).
- // The source at this point may contain illegal values or special characters
- if (!foundFlag) {
- milliseconds = Long.valueOf(source);
- }
- }
-
- LOG.trace("source: {} milliseconds: ", source, milliseconds);
-
- return milliseconds;
+ return TimeUtils.toMilliSeconds(source);
}
-
- private static void checkCorrectnessOfPattern(String source) {
- //replace only numbers once
- Matcher matcher = createMatcher(NUMBERS_ONLY_STRING_PATTERN, source);
- String replaceSource = matcher.replaceFirst("");
-
- //replace hour string once
- matcher = createMatcher(HOUR_REGEX_PATTERN, replaceSource);
- if (matcher.find() && matcher.find()) {
- throw new IllegalArgumentException("Hours should not be specified more then once: " + source);
- }
- replaceSource = matcher.replaceFirst("");
-
- //replace minutes once
- matcher = createMatcher(MINUTES_REGEX_PATTERN, replaceSource);
- if (matcher.find() && matcher.find()) {
- throw new IllegalArgumentException("Minutes should not be specified more then once: " + source);
- }
- replaceSource = matcher.replaceFirst("");
-
- //replace seconds once
- matcher = createMatcher(SECONDS_REGEX_PATTERN, replaceSource);
- if (matcher.find() && matcher.find()) {
- throw new IllegalArgumentException("Seconds should not be specified more then once: " + source);
- }
- replaceSource = matcher.replaceFirst("");
-
- if (replaceSource.length() > 0) {
- throw new IllegalArgumentException("Illegal characters: " + source);
- }
- }
-
- private static Matcher createMatcher(Pattern pattern, String source) {
- return pattern.matcher(source);
- }
}
diff --git a/camel-core/src/main/java/org/apache/camel/health/HealthCheckConfiguration.java b/camel-core/src/main/java/org/apache/camel/health/HealthCheckConfiguration.java
index 2621e1b..9f2cdf6 100644
--- a/camel-core/src/main/java/org/apache/camel/health/HealthCheckConfiguration.java
+++ b/camel-core/src/main/java/org/apache/camel/health/HealthCheckConfiguration.java
@@ -19,8 +19,8 @@ package org.apache.camel.health;
import java.time.Duration;
import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.converter.TimePatternConverter;
import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.TimeUtils;
public class HealthCheckConfiguration implements Cloneable {
public static final Boolean DEFAULT_VALUE_ENABLED = Boolean.FALSE;
@@ -80,7 +80,7 @@ public class HealthCheckConfiguration implements Cloneable {
*/
public void setInterval(String interval) {
if (ObjectHelper.isNotEmpty(interval)) {
- this.interval = Duration.ofMillis(TimePatternConverter.toMilliSeconds(interval));
+ this.interval = Duration.ofMillis(TimeUtils.toMilliSeconds(interval));
} else {
this.interval = null;
}
@@ -173,7 +173,7 @@ public class HealthCheckConfiguration implements Cloneable {
public Builder interval(String interval) {
return ObjectHelper.isNotEmpty(interval)
- ? interval(TimePatternConverter.toMilliSeconds(interval))
+ ? interval(TimeUtils.toMilliSeconds(interval))
: this;
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/BreakpointSupport.java b/camel-core/src/main/java/org/apache/camel/impl/BreakpointSupport.java
index c41fa79..808b098 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/BreakpointSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/BreakpointSupport.java
@@ -19,8 +19,8 @@ package org.apache.camel.impl;
import java.util.EventObject;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Breakpoint;
/**
@@ -46,15 +46,15 @@ public abstract class BreakpointSupport implements Breakpoint {
state = State.Active;
}
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
// noop
}
- public void afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken) {
+ public void afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken) {
// noop
}
- public void onEvent(Exchange exchange, EventObject event, ProcessorDefinition<?> definition) {
+ public void onEvent(Exchange exchange, EventObject event, NamedNode definition) {
// noop
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/ConditionSupport.java b/camel-core/src/main/java/org/apache/camel/impl/ConditionSupport.java
index 9d32662..5a966fd 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/ConditionSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/ConditionSupport.java
@@ -19,8 +19,8 @@ package org.apache.camel.impl;
import java.util.EventObject;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Condition;
/**
@@ -30,7 +30,7 @@ import org.apache.camel.spi.Condition;
*/
public class ConditionSupport implements Condition {
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
return false;
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 739622f..9224f40 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -35,7 +35,6 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
-import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledExecutorService;
@@ -99,6 +98,7 @@ import org.apache.camel.impl.validator.ValidatorKey;
import org.apache.camel.management.DefaultManagementMBeanAssembler;
import org.apache.camel.management.DefaultManagementStrategy;
import org.apache.camel.management.JmxSystemPropertyKeys;
+import org.apache.camel.management.ManagedCamelContext;
import org.apache.camel.management.ManagementStrategyFactory;
import org.apache.camel.model.DataFormatDefinition;
import org.apache.camel.model.FromDefinition;
@@ -123,6 +123,7 @@ import org.apache.camel.runtimecatalog.DefaultRuntimeCamelCatalog;
import org.apache.camel.runtimecatalog.RuntimeCamelCatalog;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.CamelContextNameStrategy;
+import org.apache.camel.spi.CamelContextTracker;
import org.apache.camel.spi.ClassResolver;
import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.DataFormat;
@@ -158,6 +159,7 @@ import org.apache.camel.spi.RestRegistry;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.RouteError;
+import org.apache.camel.spi.RouteError.Phase;
import org.apache.camel.spi.RoutePolicyFactory;
import org.apache.camel.spi.RouteStartupOrder;
import org.apache.camel.spi.RuntimeEndpointRegistry;
@@ -187,6 +189,7 @@ import org.apache.camel.util.StringHelper;
import org.apache.camel.util.StringQuoteHelper;
import org.apache.camel.util.TimeUtils;
import org.apache.camel.util.URISupport;
+import org.apache.camel.util.function.ThrowingRunnable;
import org.apache.camel.util.jsse.SSLContextParameters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -200,7 +203,7 @@ import static org.apache.camel.impl.MDCUnitOfWork.MDC_CAMEL_CONTEXT_ID;
* @version
*/
@SuppressWarnings("deprecation")
-public class DefaultCamelContext extends ServiceSupport implements ModelCamelContext, Suspendable {
+public class DefaultCamelContext extends ServiceSupport implements ModelCamelContext, ManagedCamelContext, Suspendable {
private final Logger log = LoggerFactory.getLogger(getClass());
private final AtomicBoolean vetoStated = new AtomicBoolean();
private JAXBContext jaxbContext;
@@ -339,7 +342,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// Call all registered trackers with this context
// Note, this may use a partially constructed object
- CamelContextTrackerRegistry.INSTANCE.contextCreated(this);
+ CamelContextTracker.notifyContextCreated(this);
}
/**
@@ -1005,13 +1008,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
public void addRoutes(final RoutesBuilder builder) throws Exception {
log.debug("Adding routes from builder: {}", builder);
- doWithDefinedClassLoader(new Callable<Void>() {
- @Override
- public Void call() throws Exception {
- builder.addRoutesToCamelContext(DefaultCamelContext.this);
- return null;
- }
- });
+ doWithDefinedClassLoader(() -> builder.addRoutesToCamelContext(DefaultCamelContext.this));
}
public synchronized RoutesDefinition loadRoutesDefinition(InputStream is) throws Exception {
@@ -1061,7 +1058,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
}
public void addRouteDefinition(RouteDefinition routeDefinition) throws Exception {
- addRouteDefinitions(Arrays.asList(routeDefinition));
+ addRouteDefinitions(Collections.singletonList(routeDefinition));
}
/**
@@ -1143,10 +1140,6 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
return answer != null && answer;
}
- public void stopRoute(RouteDefinition route) throws Exception {
- stopRoute(route.idOrCreate(nodeIdFactory));
- }
-
public void startAllRoutes() throws Exception {
doStartOrResumeRoutes(routeServices, true, true, false, false);
}
@@ -1214,67 +1207,15 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
return false;
}
- public synchronized void stopRoute(String routeId) throws Exception {
- DefaultRouteError.reset(this, routeId);
-
- RouteService routeService = routeServices.get(routeId);
- if (routeService != null) {
- try {
- List<RouteStartupOrder> routes = new ArrayList<>(1);
- RouteStartupOrder order = new DefaultRouteStartupOrder(1, routeService.getRoutes().iterator().next(), routeService);
- routes.add(order);
-
- getShutdownStrategy().shutdown(this, routes);
- // must stop route service as well
- stopRouteService(routeService, false);
- } catch (Exception e) {
- DefaultRouteError.set(this, routeId, RouteError.Phase.STOP, e);
- throw e;
- }
- }
+ public void stopRoute(String routeId) throws Exception {
+ doShutdownRoute(routeId, getShutdownStrategy().getTimeout(), getShutdownStrategy().getTimeUnit(), false);
}
- public synchronized void stopRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception {
- DefaultRouteError.reset(this, routeId);
-
- RouteService routeService = routeServices.get(routeId);
- if (routeService != null) {
- try {
- List<RouteStartupOrder> routes = new ArrayList<>(1);
- RouteStartupOrder order = new DefaultRouteStartupOrder(1, routeService.getRoutes().iterator().next(), routeService);
- routes.add(order);
-
- getShutdownStrategy().shutdown(this, routes, timeout, timeUnit);
- // must stop route service as well
- stopRouteService(routeService, false);
- } catch (Exception e) {
- DefaultRouteError.set(this, routeId, RouteError.Phase.STOP, e);
- throw e;
- }
- }
- }
-
- public synchronized void shutdownRoute(String routeId) throws Exception {
- DefaultRouteError.reset(this, routeId);
-
- RouteService routeService = routeServices.get(routeId);
- if (routeService != null) {
- try {
- List<RouteStartupOrder> routes = new ArrayList<>(1);
- RouteStartupOrder order = new DefaultRouteStartupOrder(1, routeService.getRoutes().iterator().next(), routeService);
- routes.add(order);
-
- getShutdownStrategy().shutdown(this, routes);
- // must stop route service as well (and remove the routes from management)
- stopRouteService(routeService, true);
- } catch (Exception e) {
- DefaultRouteError.set(this, routeId, RouteError.Phase.SHUTDOWN, e);
- throw e;
- }
- }
+ public void stopRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception {
+ doShutdownRoute(routeId, timeout, timeUnit, false);
}
- public synchronized void shutdownRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception {
+ protected synchronized void doShutdownRoute(String routeId, long timeout, TimeUnit timeUnit, boolean removingRoutes) throws Exception {
DefaultRouteError.reset(this, routeId);
RouteService routeService = routeServices.get(routeId);
@@ -1286,9 +1227,9 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
getShutdownStrategy().shutdown(this, routes, timeout, timeUnit);
// must stop route service as well (and remove the routes from management)
- stopRouteService(routeService, true);
+ stopRouteService(routeService, removingRoutes);
} catch (Exception e) {
- DefaultRouteError.set(this, routeId, RouteError.Phase.SHUTDOWN, e);
+ DefaultRouteError.set(this, routeId, removingRoutes ? Phase.SHUTDOWN : Phase.STOP, e);
throw e;
}
}
@@ -1319,13 +1260,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
removeRouteDefinition(routeId);
routeServices.remove(routeId);
// remove route from startup order as well, as it was removed
- Iterator<RouteStartupOrder> it = routeStartupOrder.iterator();
- while (it.hasNext()) {
- RouteStartupOrder order = it.next();
- if (order.getRoute().getId().equals(routeId)) {
- it.remove();
- }
- }
+ routeStartupOrder.removeIf(order -> order.getRoute().getId().equals(routeId));
// from the route which we have removed, then remove all its private endpoints
// (eg the endpoints which are not in use by other routes)
@@ -1360,35 +1295,8 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
return false;
}
- public synchronized void suspendRoute(String routeId) throws Exception {
- try {
- DefaultRouteError.reset(this, routeId);
-
- if (!routeSupportsSuspension(routeId)) {
- // stop if we suspend is not supported
- stopRoute(routeId);
- return;
- }
-
- RouteService routeService = routeServices.get(routeId);
- if (routeService != null) {
- List<RouteStartupOrder> routes = new ArrayList<>(1);
- Route route = routeService.getRoutes().iterator().next();
- RouteStartupOrder order = new DefaultRouteStartupOrder(1, route, routeService);
- routes.add(order);
-
- getShutdownStrategy().suspend(this, routes);
- // must suspend route service as well
- suspendRouteService(routeService);
- // must suspend the route as well
- if (route instanceof SuspendableService) {
- ((SuspendableService) route).suspend();
- }
- }
- } catch (Exception e) {
- DefaultRouteError.set(this, routeId, RouteError.Phase.SUSPEND, e);
- throw e;
- }
+ public void suspendRoute(String routeId) throws Exception {
+ suspendRoute(routeId, getShutdownStrategy().getTimeout(), getShutdownStrategy().getTimeUnit());
}
public synchronized void suspendRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception {
@@ -3210,30 +3118,26 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// -----------------------------------------------------------------------
protected synchronized void doStart() throws Exception {
- doWithDefinedClassLoader(new Callable<Void>() {
- @Override
- public Void call() throws Exception {
- try {
- doStartCamel();
- return null;
- } catch (Exception e) {
- // fire event that we failed to start
- EventHelper.notifyCamelContextStartupFailed(DefaultCamelContext.this, e);
- // rethrow cause
- throw e;
- }
+ doWithDefinedClassLoader(() -> {
+ try {
+ doStartCamel();
+ } catch (Exception e) {
+ // fire event that we failed to start
+ EventHelper.notifyCamelContextStartupFailed(DefaultCamelContext.this, e);
+ // rethrow cause
+ throw e;
}
});
}
- private <T> T doWithDefinedClassLoader(Callable<T> callable) throws Exception {
+ private <T extends Throwable> void doWithDefinedClassLoader(ThrowingRunnable<T> callable) throws T {
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
// Using the ApplicationClassLoader as the default for TCCL
if (applicationContextClassLoader != null) {
Thread.currentThread().setContextClassLoader(applicationContextClassLoader);
}
- return callable.call();
+ callable.run();
} finally {
Thread.currentThread().setContextClassLoader(tccl);
}
@@ -3479,13 +3383,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// shutdown await manager to trigger interrupt of blocked threads to attempt to free these threads graceful
shutdownServices(asyncProcessorAwaitManager);
- routeStartupOrder.sort(new Comparator<RouteStartupOrder>() {
- @Override
- public int compare(RouteStartupOrder o1, RouteStartupOrder o2) {
- // Reversed order
- return Integer.compare(o2.getStartupOrder(), o1.getStartupOrder());
- }
- });
+ routeStartupOrder.sort(Comparator.comparingInt(RouteStartupOrder::getStartupOrder).reversed());
List<RouteService> list = new ArrayList<>();
for (RouteStartupOrder startupOrder : routeStartupOrder) {
DefaultRouteStartupOrder order = (DefaultRouteStartupOrder) startupOrder;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultDebugger.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultDebugger.java
index 1ef52b8..9d19fa1 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultDebugger.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultDebugger.java
@@ -136,17 +136,17 @@ public class DefaultDebugger implements Debugger, CamelContextAware {
}
@Override
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
breakpoint.beforeProcess(exchange, processor, definition);
}
@Override
- public void afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken) {
+ public void afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken) {
breakpoint.afterProcess(exchange, processor, definition, timeTaken);
}
@Override
- public void onEvent(Exchange exchange, EventObject event, ProcessorDefinition<?> definition) {
+ public void onEvent(Exchange exchange, EventObject event, NamedNode definition) {
if (event instanceof ExchangeCreatedEvent) {
exchange.getContext().getDebugger().startSingleStepExchange(exchange.getExchangeId(), this);
} else if (event instanceof ExchangeCompletedEvent) {
@@ -213,7 +213,7 @@ public class DefaultDebugger implements Debugger, CamelContextAware {
}
@Override
- public boolean beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
// is the exchange in single step mode?
Breakpoint singleStep = singleSteps.get(exchange.getExchangeId());
if (singleStep != null) {
@@ -237,7 +237,7 @@ public class DefaultDebugger implements Debugger, CamelContextAware {
}
@Override
- public boolean afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken) {
+ public boolean afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken) {
// is the exchange in single step mode?
Breakpoint singleStep = singleSteps.get(exchange.getExchangeId());
if (singleStep != null) {
@@ -284,7 +284,7 @@ public class DefaultDebugger implements Debugger, CamelContextAware {
return match;
}
- protected void onBeforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, Breakpoint breakpoint) {
+ protected void onBeforeProcess(Exchange exchange, Processor processor, NamedNode definition, Breakpoint breakpoint) {
try {
breakpoint.beforeProcess(exchange, processor, definition);
} catch (Throwable e) {
@@ -292,7 +292,7 @@ public class DefaultDebugger implements Debugger, CamelContextAware {
}
}
- protected void onAfterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken, Breakpoint breakpoint) {
+ protected void onAfterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken, Breakpoint breakpoint) {
try {
breakpoint.afterProcess(exchange, processor, definition, timeTaken);
} catch (Throwable e) {
@@ -320,7 +320,7 @@ public class DefaultDebugger implements Debugger, CamelContextAware {
}
}
- private boolean matchConditions(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, BreakpointConditions breakpoint) {
+ private boolean matchConditions(Exchange exchange, Processor processor, NamedNode definition, BreakpointConditions breakpoint) {
for (Condition condition : breakpoint.getConditions()) {
if (!condition.matchProcess(exchange, processor, definition)) {
return false;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java
index 3519e3e..9eb7403 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java
@@ -16,9 +16,9 @@
*/
package org.apache.camel.impl;
+import org.apache.camel.NamedNode;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.ProcessorFactory;
import org.apache.camel.spi.RouteContext;
@@ -39,7 +39,7 @@ public class DefaultProcessorFactory implements ProcessorFactory {
public static final String RESOURCE_PATH = "META-INF/services/org/apache/camel/model/";
@Override
- public Processor createChildProcessor(RouteContext routeContext, ProcessorDefinition<?> definition, boolean mandatory) throws Exception {
+ public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
String name = definition.getClass().getSimpleName();
FactoryFinder finder = routeContext.getCamelContext().getFactoryFinder(RESOURCE_PATH);
try {
@@ -58,7 +58,7 @@ public class DefaultProcessorFactory implements ProcessorFactory {
}
@Override
- public Processor createProcessor(RouteContext routeContext, ProcessorDefinition<?> definition) throws Exception {
+ public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
String name = definition.getClass().getSimpleName();
FactoryFinder finder = routeContext.getCamelContext().getFactoryFinder(RESOURCE_PATH);
try {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
index 1eadc24..247890c 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
@@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.NamedNode;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Processor;
import org.apache.camel.Route;
@@ -53,7 +54,7 @@ import org.apache.camel.util.ObjectHelper;
* @version
*/
public class DefaultRouteContext implements RouteContext {
- private final Map<ProcessorDefinition<?>, AtomicInteger> nodeIndex = new HashMap<>();
+ private final Map<NamedNode, AtomicInteger> nodeIndex = new HashMap<>();
private final RouteDefinition route;
private FromDefinition from;
private final Collection<Route> routes;
@@ -458,7 +459,7 @@ public class DefaultRouteContext implements RouteContext {
}
}
- public int getAndIncrement(ProcessorDefinition<?> node) {
+ public int getAndIncrement(NamedNode node) {
AtomicInteger count = nodeIndex.get(node);
if (count == null) {
count = new AtomicInteger();
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteController.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteController.java
index b39bfbb..9d8956f 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteController.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteController.java
@@ -28,13 +28,13 @@ import org.apache.camel.spi.RouteController;
@Experimental
public class DefaultRouteController extends org.apache.camel.support.ServiceSupport implements RouteController {
- private CamelContext camelContext;
+ private DefaultCamelContext camelContext;
public DefaultRouteController() {
this(null);
}
- public DefaultRouteController(CamelContext camelContext) {
+ public DefaultRouteController(DefaultCamelContext camelContext) {
this.camelContext = camelContext;
}
@@ -44,7 +44,7 @@ public class DefaultRouteController extends org.apache.camel.support.ServiceSupp
@Override
public void setCamelContext(CamelContext camelContext) {
- this.camelContext = camelContext;
+ this.camelContext = (DefaultCamelContext) camelContext;
}
@Override
@@ -72,17 +72,17 @@ public class DefaultRouteController extends org.apache.camel.support.ServiceSupp
@Override
public void startAllRoutes() throws Exception {
- ((DefaultCamelContext) camelContext).startAllRoutes();
+ camelContext.startAllRoutes();
}
@Override
public boolean isStartingRoutes() {
- return ((DefaultCamelContext) camelContext).isStartingRoutes();
+ return camelContext.isStartingRoutes();
}
@Override
public ServiceStatus getRouteStatus(String routeId) {
- return ((DefaultCamelContext) camelContext).getRouteStatus(routeId);
+ return camelContext.getRouteStatus(routeId);
}
@Override
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteStartupOrder.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteStartupOrder.java
index 0c73112..d6b81b6 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteStartupOrder.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteStartupOrder.java
@@ -52,12 +52,8 @@ public class DefaultRouteStartupOrder implements RouteStartupOrder {
}
public List<Consumer> getInputs() {
- List<Consumer> answer = new ArrayList<>();
Map<Route, Consumer> inputs = routeService.getInputs();
- for (Consumer consumer : inputs.values()) {
- answer.add(consumer);
- }
- return answer;
+ return new ArrayList<>(inputs.values());
}
public List<Service> getServices() {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
index 4ee4acb..91a7b73 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
@@ -154,8 +154,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
}
public boolean shutdown(CamelContext context, RouteStartupOrder route, long timeout, TimeUnit timeUnit, boolean abortAfterTimeout) throws Exception {
- List<RouteStartupOrder> routes = new ArrayList<>(1);
- routes.add(route);
+ List<RouteStartupOrder> routes = Collections.singletonList(route);
return doShutdown(context, routes, timeout, timeUnit, false, abortAfterTimeout, false);
}
@@ -179,15 +178,12 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
StopWatch watch = new StopWatch();
// at first sort according to route startup order
- List<RouteStartupOrder> routesOrdered = new ArrayList<>(routes);
- routesOrdered.sort(new Comparator<RouteStartupOrder>() {
- public int compare(RouteStartupOrder o1, RouteStartupOrder o2) {
- return o1.getStartupOrder() - o2.getStartupOrder();
- }
- });
+ Comparator<RouteStartupOrder> comparator = Comparator.comparingInt(RouteStartupOrder::getStartupOrder);
if (shutdownRoutesInReverseOrder) {
- Collections.reverse(routesOrdered);
+ comparator = comparator.reversed();
}
+ List<RouteStartupOrder> routesOrdered = new ArrayList<>(routes);
+ routesOrdered.sort(comparator);
if (suspendOnly) {
LOG.info("Starting to graceful suspend {} routes (timeout {} {})", routesOrdered.size(), timeout, timeUnit.toString().toLowerCase(Locale.ENGLISH));
@@ -540,8 +536,8 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
if (LOG.isTraceEnabled()) {
LOG.trace("{}{} with options [{},{}]",
- new Object[]{suspendOnly ? "Suspending route: " : "Shutting down route: ",
- order.getRoute().getId(), shutdownRoute, shutdownRunningTask});
+ suspendOnly ? "Suspending route: " : "Shutting down route: ",
+ order.getRoute().getId(), shutdownRoute, shutdownRunningTask);
}
for (Consumer consumer : order.getInputs()) {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DurationRoutePolicyFactory.java b/camel-core/src/main/java/org/apache/camel/impl/DurationRoutePolicyFactory.java
index 849e00c..e2d36a5 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DurationRoutePolicyFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DurationRoutePolicyFactory.java
@@ -17,7 +17,7 @@
package org.apache.camel.impl;
import org.apache.camel.CamelContext;
-import org.apache.camel.model.RouteDefinition;
+import org.apache.camel.NamedNode;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
import org.apache.camel.util.EndpointHelper;
@@ -35,7 +35,7 @@ public class DurationRoutePolicyFactory implements RoutePolicyFactory {
private DurationRoutePolicy.Action action = DurationRoutePolicy.Action.STOP_ROUTE;
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
DurationRoutePolicy policy = null;
if (fromRouteId == null || EndpointHelper.matchPattern(routeId, fromRouteId)) {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/RouteService.java b/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
index 94e4b4f..014554f 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
@@ -378,7 +378,8 @@ public class RouteService extends ChildServiceSupport {
if (service instanceof ErrorHandler) {
// special for error handlers
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
- strategy.onErrorHandlerRemove(route.getRouteContext(), (Processor) service, route.getRouteContext().getRoute().getErrorHandlerBuilder());
+ RouteDefinition definition = (RouteDefinition) route.getRouteContext().getRoute();
+ strategy.onErrorHandlerRemove(route.getRouteContext(), (Processor) service, definition.getErrorHandlerBuilder());
}
} else {
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
@@ -442,7 +443,8 @@ public class RouteService extends ChildServiceSupport {
* Gather all other kind of route scoped services from the given route, except error handler
*/
private void doGetRouteScopedServices(List<Service> services, Route route) {
- for (ProcessorDefinition<?> output : route.getRouteContext().getRoute().getOutputs()) {
+ RouteDefinition definition = (RouteDefinition) route.getRouteContext().getRoute();
+ for (ProcessorDefinition<?> output : definition.getOutputs()) {
if (output instanceof OnExceptionDefinition) {
OnExceptionDefinition onExceptionDefinition = (OnExceptionDefinition) output;
if (onExceptionDefinition.isRouteScoped()) {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/SupervisingRouteController.java b/camel-core/src/main/java/org/apache/camel/impl/SupervisingRouteController.java
index fd52871..b832239 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/SupervisingRouteController.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/SupervisingRouteController.java
@@ -39,6 +39,7 @@ import java.util.stream.Collectors;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Experimental;
+import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.ServiceStatus;
@@ -541,7 +542,7 @@ public class SupervisingRouteController extends DefaultRouteController {
}
public RouteDefinition getDefinition() {
- return this.route.getRouteContext().getRoute();
+ return (RouteDefinition) this.route.getRouteContext().getRoute();
}
public ServiceStatus getStatus() {
@@ -597,7 +598,7 @@ public class SupervisingRouteController extends DefaultRouteController {
private final RoutePolicy policy = new ManagedRoutePolicy();
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
return policy;
}
}
@@ -618,7 +619,7 @@ public class SupervisingRouteController extends DefaultRouteController {
@Override
public void onInit(Route route) {
- final String autoStartup = route.getRouteContext().getRoute().getAutoStartup();
+ final String autoStartup = ((RouteDefinition) route.getRouteContext().getRoute()).getAutoStartup();
if (ObjectHelper.equalIgnoreCase("false", autoStartup)) {
LOGGER.info("Route {} won't be supervised (reason: has explicit auto-startup flag set to false)", route.getId());
return;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/TypedProcessorFactory.java b/camel-core/src/main/java/org/apache/camel/impl/TypedProcessorFactory.java
index f0aa1b8..2e3497e 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/TypedProcessorFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/TypedProcessorFactory.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.impl;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.ProcessorFactory;
@@ -29,7 +30,7 @@ public class TypedProcessorFactory<T extends ProcessorDefinition<T>> implements
}
@Override
- public Processor createChildProcessor(RouteContext routeContext, ProcessorDefinition<?> definition, boolean mandatory) throws Exception {
+ public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
if (definition != null && type.isInstance(definition)) {
return doCreateChildProcessor(routeContext, type.cast(definition), mandatory);
}
@@ -38,7 +39,7 @@ public class TypedProcessorFactory<T extends ProcessorDefinition<T>> implements
}
@Override
- public Processor createProcessor(RouteContext routeContext, ProcessorDefinition<?> definition) throws Exception {
+ public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
if (definition != null && type.isInstance(definition)) {
return doCreateProcessor(routeContext, type.cast(definition));
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicy.java b/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicy.java
index 4b641db..15e7f4a 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicy.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicy.java
@@ -28,6 +28,7 @@ import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.cloud.DiscoverableService;
import org.apache.camel.cloud.ServiceDefinition;
import org.apache.camel.cloud.ServiceRegistry;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.support.RoutePolicySupport;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
@@ -166,7 +167,8 @@ public class ServiceRegistrationRoutePolicy extends RoutePolicySupport implement
String serviceId = properties.get(ServiceDefinition.SERVICE_META_ID);
if (serviceId == null) {
// if not check if the route id is custom and use it
- if (route.getRouteContext().getRoute().hasCustomIdAssigned()) {
+ RouteDefinition definition = (RouteDefinition) route.getRouteContext().getRoute();
+ if (definition.hasCustomIdAssigned()) {
serviceId = route.getId();
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicyFactory.java b/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicyFactory.java
index 54825fc..1586a8b 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicyFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/cloud/ServiceRegistrationRoutePolicyFactory.java
@@ -17,8 +17,8 @@
package org.apache.camel.impl.cloud;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.cloud.ServiceRegistry;
-import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
import org.slf4j.Logger;
@@ -44,7 +44,7 @@ public class ServiceRegistrationRoutePolicyFactory implements RoutePolicyFactory
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
return new ServiceRegistrationRoutePolicy(serviceRegistry, serviceRegistrySelector);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRouteController.java b/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRouteController.java
index cd42954..1d5feff 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRouteController.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRouteController.java
@@ -32,6 +32,7 @@ import java.util.stream.Collectors;
import org.apache.camel.CamelContext;
import org.apache.camel.Experimental;
+import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.cluster.CamelClusterService;
import org.apache.camel.impl.DefaultRouteController;
@@ -292,7 +293,8 @@ public class ClusteredRouteController extends DefaultRouteController {
private final class PolicyFactory implements RoutePolicyFactory {
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode node) {
+ RouteDefinition route = (RouteDefinition) node;
// All the filter have to be match to include the route in the
// clustering set-up
if (filters.stream().allMatch(filter -> filter.test(camelContext, routeId, route))) {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java b/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
index 4ef7fa0..b35972b 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
@@ -38,6 +38,7 @@ import org.apache.camel.cluster.CamelClusterMember;
import org.apache.camel.cluster.CamelClusterService;
import org.apache.camel.cluster.CamelClusterView;
import org.apache.camel.management.event.CamelContextStartedEvent;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.support.EventNotifierSupport;
import org.apache.camel.support.RoutePolicySupport;
import org.apache.camel.util.ObjectHelper;
@@ -153,12 +154,15 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
// life-cycle
// ****************************************************
+ private RouteDefinition definition(Route route) {
+ return (RouteDefinition) route.getRouteContext().getRoute();
+ }
@Override
public void onInit(Route route) {
super.onInit(route);
LOGGER.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
- route.getRouteContext().getRoute().setAutoStartup("false");
+ definition(route).setAutoStartup("false");
this.refCount.retain();
this.stoppedRoutes.add(route);
@@ -229,7 +233,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
try {
for (Route route : stoppedRoutes) {
- ServiceStatus status = route.getRouteContext().getRoute().getStatus(getCamelContext());
+ ServiceStatus status = definition(route).getStatus(getCamelContext());
if (status.isStartable()) {
LOGGER.debug("Starting route '{}'", route.getId());
camelContext.getRouteController().startRoute(route.getId());
@@ -261,7 +265,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
try {
for (Route route : startedRoutes) {
- ServiceStatus status = route.getRouteContext().getRoute().getStatus(getCamelContext());
+ ServiceStatus status = definition(route).getStatus(getCamelContext());
if (status.isStoppable()) {
LOGGER.debug("Stopping route '{}'", route.getId());
stopRoute(route);
diff --git a/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicyFactory.java b/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicyFactory.java
index c1b97e1..9ff0e2f 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicyFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicyFactory.java
@@ -17,9 +17,9 @@
package org.apache.camel.impl.cluster;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.cluster.CamelClusterService;
-import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
import org.apache.camel.util.ObjectHelper;
@@ -56,7 +56,7 @@ public class ClusteredRoutePolicyFactory implements RoutePolicyFactory {
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
try {
return clusterService != null
? ClusteredRoutePolicy.forNamespace(clusterService, namespace)
diff --git a/camel-core/src/main/java/org/apache/camel/impl/health/DefaultHealthCheckRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/health/DefaultHealthCheckRegistry.java
index 58e63e0..f9ea05c 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/health/DefaultHealthCheckRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/health/DefaultHealthCheckRegistry.java
@@ -43,10 +43,8 @@ public class DefaultHealthCheckRegistry implements HealthCheckRegistry {
public DefaultHealthCheckRegistry(CamelContext camelContext) {
this.checks = new CopyOnWriteArraySet<>();
-
this.repositories = new CopyOnWriteArraySet<>();
this.repositories.add(new RegistryRepository());
- this.repositories.addAll(repositories);
setCamelContext(camelContext);
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java b/camel-core/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java
index 8d7a198..a25e1a1 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java
@@ -28,6 +28,7 @@ import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.api.management.mbean.ManagedRouteMBean;
import org.apache.camel.health.HealthCheckResultBuilder;
+import org.apache.camel.management.ManagedCamelContext;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,7 +59,7 @@ public class RouteHealthCheck extends AbstractHealthCheck {
protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) {
if (route.getId() != null) {
final CamelContext context = route.getRouteContext().getCamelContext();
- final ServiceStatus status = context.getRouteStatus(route.getId());
+ final ServiceStatus status = context.getRouteController().getRouteStatus(route.getId());
builder.detail("route.id", route.getId());
builder.detail("route.status", status.name());
@@ -87,7 +88,7 @@ public class RouteHealthCheck extends AbstractHealthCheck {
if (builder.state() != State.DOWN) {
// If JMX is enabled, use the Managed MBeans to determine route
// health based on performance counters.
- ManagedRouteMBean managedRoute = context.getManagedRoute(route.getId(), ManagedRouteMBean.class);
+ ManagedRouteMBean managedRoute = context.adapt(ManagedCamelContext.class).getManagedRoute(route.getId(), ManagedRouteMBean.class);
if (managedRoute != null && !evaluators.isEmpty()) {
Map<String, Object> details = new HashMap<>();
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
index 3fbe3c8..5ff6da4 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
@@ -756,7 +756,7 @@ public class DefaultManagementLifecycleStrategy extends ServiceSupport implement
// Each processor in a route will have its own performance counter.
// These performance counter will be embedded to InstrumentationProcessor
// and wrap the appropriate processor by InstrumentationInterceptStrategy.
- RouteDefinition route = routeContext.getRoute();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
// register performance counters for all processors and its children
for (ProcessorDefinition<?> processor : route.getOutputs()) {
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index 0b0a3c8..351766a 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -25,6 +25,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.DelegateProcessor;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.Route;
@@ -281,9 +282,11 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
@SuppressWarnings({"deprecation", "unchecked"})
public Object getManagedObjectForProcessor(CamelContext context, Processor processor,
- ProcessorDefinition<?> definition, Route route) {
+ NamedNode node, Route route) {
ManagedProcessor answer = null;
+ ProcessorDefinition<?> definition = (ProcessorDefinition<?>) node;
+
if (definition instanceof RecipientListDefinition) {
// special for RecipientListDefinition, as the processor is wrapped in a pipeline as last
Pipeline pipeline = (Pipeline) processor;
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
index 9dddbc8..e92703f 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
@@ -22,6 +22,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
+import org.apache.camel.NamedNode;
import org.apache.camel.management.event.DefaultEventFactory;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.EventFactory;
@@ -120,7 +121,7 @@ public class DefaultManagementStrategy extends ServiceSupport implements Managem
this.managementAgent = managementAgent;
}
- public boolean manageProcessor(ProcessorDefinition<?> definition) {
+ public boolean manageProcessor(NamedNode definition) {
return false;
}
diff --git a/camel-core/src/main/java/org/apache/camel/management/InstrumentationInterceptStrategy.java b/camel-core/src/main/java/org/apache/camel/management/InstrumentationInterceptStrategy.java
index 8dcc7d1..a1712a1 100644
--- a/camel-core/src/main/java/org/apache/camel/management/InstrumentationInterceptStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/InstrumentationInterceptStrategy.java
@@ -19,6 +19,7 @@ package org.apache.camel.management;
import java.util.Map;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.api.management.PerformanceCounter;
import org.apache.camel.management.mbean.ManagedPerformanceCounter;
@@ -58,7 +59,7 @@ public class InstrumentationInterceptStrategy implements InterceptStrategy {
return counter;
}
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition,
Processor target, Processor nextTarget) throws Exception {
// no longer in use as we have optimised to avoid wrapping unless needed
return target;
diff --git a/camel-core/src/main/java/org/apache/camel/management/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/ManagedCamelContext.java
new file mode 100644
index 0000000..4de1dd8
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/ManagedCamelContext.java
@@ -0,0 +1,50 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.management;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
+import org.apache.camel.api.management.mbean.ManagedProcessorMBean;
+import org.apache.camel.api.management.mbean.ManagedRouteMBean;
+
+public interface ManagedCamelContext extends CamelContext {
+ /**
+ * Gets the managed processor client api from any of the routes which with the given id
+ *
+ * @param id id of the processor
+ * @param type the managed processor type from the {@link org.apache.camel.api.management.mbean} package.
+ * @return the processor or <tt>null</tt> if not found
+ * @throws IllegalArgumentException if the type is not compliant
+ */
+ <T extends ManagedProcessorMBean> T getManagedProcessor(String id, Class<T> type);
+
+ /**
+ * Gets the managed route client api with the given route id
+ *
+ * @param routeId id of the route
+ * @param type the managed route type from the {@link org.apache.camel.api.management.mbean} package.
+ * @return the route or <tt>null</tt> if not found
+ * @throws IllegalArgumentException if the type is not compliant
+ */
+ <T extends ManagedRouteMBean> T getManagedRoute(String routeId, Class<T> type);
+
+ /**
+ * Gets the managed Camel CamelContext client api
+ */
+ ManagedCamelContextMBean getManagedCamelContext();
+
+}
diff --git a/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java b/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
index e1c7f79..97686df 100644
--- a/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/ManagedManagementStrategy.java
@@ -20,6 +20,7 @@ import javax.management.ObjectName;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.NamedNode;
import org.apache.camel.management.mbean.ManagedBacklogDebugger;
import org.apache.camel.management.mbean.ManagedBacklogTracer;
import org.apache.camel.management.mbean.ManagedCamelContext;
@@ -173,7 +174,7 @@ public class ManagedManagementStrategy extends DefaultManagementStrategy {
}
@Override
- public boolean manageProcessor(ProcessorDefinition<?> definition) {
+ public boolean manageProcessor(NamedNode definition) {
return true;
}
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java b/camel-core/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
index 62bc649..654b063 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java
@@ -36,6 +36,7 @@ import org.xml.sax.helpers.DefaultHandler;
import org.apache.camel.CamelContext;
import org.apache.camel.api.management.mbean.ManagedProcessorMBean;
import org.apache.camel.api.management.mbean.ManagedRouteMBean;
+import org.apache.camel.management.ManagedCamelContext;
/**
* An XML parser that uses SAX to enrich route stats in the route dump.
@@ -90,7 +91,7 @@ public final class RouteCoverageXmlParser {
if (id != null) {
try {
if ("route".equals(qName)) {
- ManagedRouteMBean route = camelContext.getManagedRoute(id, ManagedRouteMBean.class);
+ ManagedRouteMBean route = camelContext.adapt(ManagedCamelContext.class).getManagedRoute(id, ManagedRouteMBean.class);
if (route != null) {
long total = route.getExchangesTotal();
el.setAttribute("exchangesTotal", "" + total);
@@ -102,7 +103,7 @@ public final class RouteCoverageXmlParser {
Element parent = elementStack.peek();
if (parent != null) {
String routeId = parent.getAttribute("id");
- ManagedRouteMBean route = camelContext.getManagedRoute(routeId, ManagedRouteMBean.class);
+ ManagedRouteMBean route = camelContext.adapt(ManagedCamelContext.class).getManagedRoute(routeId, ManagedRouteMBean.class);
if (route != null) {
long total = route.getExchangesTotal();
el.setAttribute("exchangesTotal", "" + total);
@@ -113,7 +114,7 @@ public final class RouteCoverageXmlParser {
}
}
} else {
- ManagedProcessorMBean processor = camelContext.getManagedProcessor(id, ManagedProcessorMBean.class);
+ ManagedProcessorMBean processor = camelContext.adapt(ManagedCamelContext.class).getManagedProcessor(id, ManagedProcessorMBean.class);
if (processor != null) {
long total = processor.getExchangesTotal();
el.setAttribute("exchangesTotal", "" + total);
diff --git a/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java b/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
index 11d8090..05a29fa 100644
--- a/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
@@ -91,7 +91,8 @@ public class DynamicRouterDefinition<Type extends ProcessorDefinition<Type>> ext
}
// and wrap this in an error handler
- ErrorHandlerFactory builder = routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerFactory builder = route.getErrorHandlerBuilder();
// create error handler (create error handler directly to keep it light weight,
// instead of using ProcessorDefinition.wrapInErrorHandler)
AsyncProcessor errorHandler = (AsyncProcessor) builder.createErrorHandler(routeContext, dynamicRouter.newRoutingSlipProcessorForErrorHandler());
diff --git a/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java b/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java
index 475b9c9..4f1b786 100644
--- a/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/InterceptDefinition.java
@@ -25,6 +25,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
import org.apache.camel.processor.Pipeline;
@@ -84,7 +85,7 @@ public class InterceptDefinition extends OutputDefinition<InterceptDefinition> {
routeContext.getInterceptStrategies().add(new InterceptStrategy() {
private Processor interceptedTarget;
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition,
Processor target, Processor nextTarget) throws Exception {
// store the target we are intercepting
this.interceptedTarget = target;
@@ -107,7 +108,7 @@ public class InterceptDefinition extends OutputDefinition<InterceptDefinition> {
});
// remove me from the route so I am not invoked in a regular route path
- routeContext.getRoute().getOutputs().remove(this);
+ ((RouteDefinition) routeContext.getRoute()).getOutputs().remove(this);
// and return no processor to invoke next from me
return null;
}
diff --git a/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java b/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java
index aa3c113..efe90cb 100644
--- a/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/InterceptSendToEndpointDefinition.java
@@ -120,7 +120,7 @@ public class InterceptSendToEndpointDefinition extends OutputDefinition<Intercep
// remove the original intercepted route from the outputs as we do not intercept as the regular interceptor
// instead we use the proxy endpoints producer do the triggering. That is we trigger when someone sends
// an exchange to the endpoint, see InterceptSendToEndpoint for details.
- RouteDefinition route = routeContext.getRoute();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
List<ProcessorDefinition<?>> outputs = route.getOutputs();
outputs.remove(this);
diff --git a/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java b/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java
index 123a6cd..906765d 100644
--- a/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/OnCompletionDefinition.java
@@ -138,7 +138,8 @@ public class OnCompletionDefinition extends ProcessorDefinition<OnCompletionDefi
routeContext.setAllowUseOriginalMessage(true);
}
- String routeId = routeContext.getRoute().idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ String routeId = route.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
Processor childProcessor = this.createChildProcessor(routeContext, true);
diff --git a/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java b/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java
index e19b642..21939e1 100644
--- a/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java
@@ -215,7 +215,8 @@ public class OnExceptionDefinition extends ProcessorDefinition<OnExceptionDefini
errorHandlers.put(id, errorHandler);
}
// lookup the error handler builder
- ErrorHandlerBuilder builder = (ErrorHandlerBuilder)routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerBuilder builder = (ErrorHandlerBuilder) route.getErrorHandlerBuilder();
// and add this as error handlers
builder.addErrorHandlers(routeContext, this);
}
diff --git a/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
index bf1f76e..a102dbd 100644
--- a/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
@@ -370,7 +370,8 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
* @throws Exception can be thrown if failed to create error handler builder
*/
protected Processor wrapInErrorHandler(RouteContext routeContext, Processor output) throws Exception {
- ErrorHandlerFactory builder = routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerFactory builder = route.getErrorHandlerBuilder();
// create error handler
Processor errorHandler = builder.createErrorHandler(routeContext, output);
diff --git a/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
index 7c9b1c4..6e01845 100644
--- a/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java
@@ -30,6 +30,7 @@ import javax.xml.namespace.QName;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.spi.ExecutorServiceManager;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.CamelContextHelper;
@@ -145,12 +146,12 @@ public final class ProcessorDefinitionHelper {
* @param node the node
* @return the route, or <tt>null</tt> if not possible to find
*/
- public static RouteDefinition getRoute(ProcessorDefinition<?> node) {
+ public static RouteDefinition getRoute(NamedNode node) {
if (node == null) {
return null;
}
- ProcessorDefinition<?> def = node;
+ ProcessorDefinition<?> def = (ProcessorDefinition) node;
// drill to the top
while (def != null && def.getParent() != null) {
def = def.getParent();
@@ -170,7 +171,7 @@ public final class ProcessorDefinitionHelper {
* @param node the node
* @return the route id, or <tt>null</tt> if not possible to find
*/
- public static String getRouteId(ProcessorDefinition<?> node) {
+ public static String getRouteId(NamedNode node) {
RouteDefinition route = getRoute(node);
return route != null ? route.getId() : null;
}
diff --git a/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java b/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
index 079d24a..c74e264 100644
--- a/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
@@ -228,7 +228,7 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
}
public RouteDefinition adviceWith(CamelContext camelContext, RouteBuilder builder) throws Exception {
- return adviceWith((ModelCamelContext)camelContext, builder);
+ return adviceWith(camelContext.adapt(ModelCamelContext.class), builder);
}
/**
@@ -255,7 +255,6 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
* @throws Exception can be thrown from the route builder
* @see AdviceWithRouteBuilder
*/
- @SuppressWarnings("deprecation")
public RouteDefinition adviceWith(ModelCamelContext camelContext, RouteBuilder builder) throws Exception {
ObjectHelper.notNull(camelContext, "CamelContext");
ObjectHelper.notNull(builder, "RouteBuilder");
@@ -303,7 +302,7 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
RouteDefinition merged = routes.route(this);
// add the new merged route
- camelContext.getRouteDefinitions().add(0, merged);
+ camelContext.addRouteDefinition(merged);
// log the merged route at info level to make it easier to end users to spot any mistakes they may have made
log.info("AdviceWith route after: {}", merged);
@@ -311,13 +310,6 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
String afterAsXml = ModelHelper.dumpModelAsXml(camelContext, merged);
log.info("Adviced route before/after as XML:\n{}\n{}", beforeAsXml, afterAsXml);
- // If the camel context is started then we start the route
- if (camelContext instanceof StatefulService) {
- StatefulService service = (StatefulService) camelContext;
- if (service.isStarted()) {
- camelContext.startRoute(merged);
- }
- }
return merged;
}
@@ -1336,7 +1328,7 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
// validate route has output processors
if (!ProcessorDefinitionHelper.hasOutputs(outputs, true)) {
- RouteDefinition route = routeContext.getRoute();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
String at = fromType.toString();
Exception cause = new IllegalArgumentException("Route " + route.getId() + " has no output processors."
+ " You need to add outputs to the route such as to(\"log:foo\").");
@@ -1348,7 +1340,7 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
try {
output.addRoutes(routeContext, routes);
} catch (Exception e) {
- RouteDefinition route = routeContext.getRoute();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
throw new FailedToCreateRouteException(route.getId(), route.toString(), output.toString(), e);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java b/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java
index 4779360..d5caaef 100644
--- a/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/RoutingSlipDefinition.java
@@ -101,7 +101,8 @@ public class RoutingSlipDefinition<Type extends ProcessorDefinition<Type>> exten
}
// and wrap this in an error handler
- ErrorHandlerFactory builder = routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerFactory builder = route.getErrorHandlerBuilder();
// create error handler (create error handler directly to keep it light weight,
// instead of using ProcessorDefinition.wrapInErrorHandler)
AsyncProcessor errorHandler = (AsyncProcessor) builder.createErrorHandler(routeContext, routingSlip.newRoutingSlipProcessorForErrorHandler());
diff --git a/camel-core/src/main/java/org/apache/camel/model/SortDefinition.java b/camel-core/src/main/java/org/apache/camel/model/SortDefinition.java
index 4e4c352..4351609 100644
--- a/camel-core/src/main/java/org/apache/camel/model/SortDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/SortDefinition.java
@@ -83,11 +83,7 @@ public class SortDefinition<T> extends NoOutputExpressionNode {
// if no comparator then default on to string representation
if (comparator == null) {
- comparator = new Comparator<T>() {
- public int compare(T o1, T o2) {
- return ObjectHelper.compare(o1, o2);
- }
- };
+ comparator = (Comparator<T>) ObjectHelper::compare;
}
// if no expression provided then default to body expression
diff --git a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
index 34790a3..d4ea3a7 100644
--- a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
@@ -55,6 +55,7 @@ import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.function.Suppliers;
+import org.apache.camel.util.function.ThrowingHelper;
import static org.apache.camel.util.CamelContextHelper.findByType;
import static org.apache.camel.util.CamelContextHelper.lookup;
@@ -814,8 +815,8 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit
// Service name is mandatory
ObjectHelper.notNull(name, "Service name");
- endpointScheme = ObjectHelper.applyIfNotEmpty(endpointScheme, camelContext::resolvePropertyPlaceholders, () -> ServiceCallDefinitionConstants.DEFAULT_COMPONENT);
- endpointUri = ObjectHelper.applyIfNotEmpty(endpointUri, camelContext::resolvePropertyPlaceholders, () -> null);
+ endpointScheme = ThrowingHelper.applyIfNotEmpty(endpointScheme, camelContext::resolvePropertyPlaceholders, () -> ServiceCallDefinitionConstants.DEFAULT_COMPONENT);
+ endpointUri = ThrowingHelper.applyIfNotEmpty(endpointUri, camelContext::resolvePropertyPlaceholders, () -> null);
return new DefaultServiceCallProcessor(
camelContext,
diff --git a/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
index 3746d4f..b1da7ef 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
@@ -36,6 +36,7 @@ import org.apache.camel.management.DelegatePerformanceCounter;
import org.apache.camel.management.mbean.ManagedPerformanceCounter;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ProcessorDefinitionHelper;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.processor.interceptor.BacklogDebugger;
import org.apache.camel.processor.interceptor.BacklogTracer;
import org.apache.camel.processor.interceptor.DefaultBacklogTracerEventMessage;
@@ -607,7 +608,8 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
public UnitOfWorkProcessorAdvice(RouteContext routeContext) {
this.routeContext = routeContext;
if (routeContext != null) {
- this.routeId = routeContext.getRoute().idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ RouteDefinition definition = (RouteDefinition) routeContext.getRoute();
+ this.routeId = definition.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
}
}
@@ -617,7 +619,8 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
// from this unit of work
if (routeContext != null && exchange.getFromRouteId() == null) {
if (routeId == null) {
- routeId = routeContext.getRoute().idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ RouteDefinition definition = (RouteDefinition) routeContext.getRoute();
+ routeId = definition.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
}
exchange.setFromRouteId(routeId);
}
diff --git a/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
index 0f9a2d2..c3f5dd0 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
@@ -48,6 +48,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.StreamCache;
import org.apache.camel.Traceable;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.processor.aggregate.AggregationStrategy;
import org.apache.camel.processor.aggregate.CompletionAwareAggregationStrategy;
import org.apache.camel.processor.aggregate.DelegateAggregationStrategy;
@@ -1068,7 +1069,8 @@ public class MulticastProcessor extends ServiceSupport implements AsyncProcessor
}
LOG.trace("Creating error handler for: {}", processor);
- ErrorHandlerFactory builder = routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerFactory builder = route.getErrorHandlerBuilder();
// create error handler (create error handler directly to keep it light weight,
// instead of using ProcessorDefinition.wrapInErrorHandler)
try {
diff --git a/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java b/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
index 2188777..f8d10aa 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
@@ -258,29 +258,14 @@ public class Resequencer extends ServiceSupport implements AsyncProcessor, Navig
Comparator<? super Exchange> answer = comparator;
if (reverse) {
- answer = new Comparator<Exchange>() {
- public int compare(Exchange o1, Exchange o2) {
- int answer = comparator.compare(o1, o2);
- // reverse it
- return answer * -1;
- }
- };
+ answer = comparator.reversed();
}
// if we allow duplicates then we need to cater for that in the comparator
- final Comparator<? super Exchange> forAllowDuplicates = answer;
if (allowDuplicates) {
- answer = new Comparator<Exchange>() {
- public int compare(Exchange o1, Exchange o2) {
- int answer = forAllowDuplicates.compare(o1, o2);
- if (answer == 0) {
- // they are equal but we should allow duplicates so say that o2 is higher
- // so it will come next
- return 1;
- }
- return answer;
- }
- };
+ // they are equal but we should allow duplicates so say that o2 is higher
+ // so it will come next
+ answer = answer.thenComparing((o1, o2) -> 1);
}
return new TreeSet<>(answer);
diff --git a/camel-core/src/main/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategy.java b/camel-core/src/main/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategy.java
index c9d8781..5d923e3 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategy.java
@@ -135,7 +135,7 @@ public class DefaultExceptionPolicyStrategy implements ExceptionPolicyStrategy {
// if OnException is route scoped then the current route (Exchange) must match
// so we will not pick an OnException from another route
if (exchange != null && exchange.getUnitOfWork() != null && type.isRouteScoped()) {
- RouteDefinition route = exchange.getUnitOfWork().getRouteContext() != null ? exchange.getUnitOfWork().getRouteContext().getRoute() : null;
+ RouteDefinition route = exchange.getUnitOfWork().getRouteContext() != null ? (RouteDefinition) exchange.getUnitOfWork().getRouteContext().getRoute() : null;
RouteDefinition typeRoute = ProcessorDefinitionHelper.getRoute(type);
if (route != null && typeRoute != null && route != typeRoute) {
if (LOG.isTraceEnabled()) {
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java
index 7cafc39..5fb2efa 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogDebugger.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.LoggingLevel;
+import org.apache.camel.NamedNode;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
@@ -116,7 +117,7 @@ public class BacklogDebugger extends ServiceSupport implements InterceptStrategy
@Override
@Deprecated
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
throw new UnsupportedOperationException("Deprecated");
}
@@ -544,7 +545,7 @@ public class BacklogDebugger extends ServiceSupport implements InterceptStrategy
}
@Override
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
// store a copy of the message so we can see that from the debugger
Date timestamp = new Date();
String toNode = definition.getId();
@@ -575,7 +576,7 @@ public class BacklogDebugger extends ServiceSupport implements InterceptStrategy
}
@Override
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
// must match node
if (!nodeId.equals(definition.getId())) {
return false;
@@ -604,7 +605,7 @@ public class BacklogDebugger extends ServiceSupport implements InterceptStrategy
private final class StepBreakpoint extends BreakpointSupport implements Condition {
@Override
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
// store a copy of the message so we can see that from the debugger
Date timestamp = new Date();
String toNode = definition.getId();
@@ -635,7 +636,7 @@ public class BacklogDebugger extends ServiceSupport implements InterceptStrategy
}
@Override
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
return true;
}
@@ -645,7 +646,7 @@ public class BacklogDebugger extends ServiceSupport implements InterceptStrategy
}
@Override
- public void onEvent(Exchange exchange, EventObject event, ProcessorDefinition<?> definition) {
+ public void onEvent(Exchange exchange, EventObject event, NamedNode definition) {
// when the exchange is complete, we need to turn off single step mode if we were debug stepping the exchange
if (event instanceof ExchangeCompletedEvent) {
String completedId = ((ExchangeCompletedEvent) event).getExchange().getExchangeId();
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
index 72d3964..a308493 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/BacklogTracer.java
@@ -24,6 +24,7 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
import org.apache.camel.api.management.mbean.BacklogTracerEventMessage;
@@ -71,7 +72,7 @@ public final class BacklogTracer extends ServiceSupport implements InterceptStra
@Override
@Deprecated
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
throw new UnsupportedOperationException("Deprecated");
}
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
index c4750b2..dae546d 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/Debug.java
@@ -19,8 +19,8 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.Debugger;
import org.apache.camel.spi.InterceptStrategy;
@@ -39,7 +39,7 @@ public class Debug implements InterceptStrategy {
this.debugger = debugger;
}
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
return new DelegateAsyncProcessor(target) {
@Override
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java
index 19ee9a1..a07bb8e 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java
@@ -19,8 +19,8 @@ package org.apache.camel.processor.interceptor;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
/**
@@ -28,8 +28,8 @@ import org.apache.camel.spi.InterceptStrategy;
*/
public final class HandleFault implements InterceptStrategy {
- public Processor wrapProcessorInInterceptors(CamelContext context,
- ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context,
+ NamedNode definition, Processor target, Processor nextTarget) throws Exception {
return new HandleFaultInterceptor(target);
}
diff --git a/camel-core/src/main/java/org/apache/camel/spi/Breakpoint.java b/camel-core/src/main/java/org/apache/camel/spi/Breakpoint.java
index 0fdac64..d39efbd 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/Breakpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/Breakpoint.java
@@ -19,8 +19,8 @@ package org.apache.camel.spi;
import java.util.EventObject;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
/**
* {@link org.apache.camel.spi.Breakpoint} are used by the {@link org.apache.camel.spi.Debugger} API.
@@ -64,32 +64,30 @@ public interface Breakpoint {
/**
* Callback invoked when the breakpoint was hit and the {@link Exchange} is about to be processed (before).
- *
- * @param exchange the {@link Exchange}
+ * @param exchange the {@link Exchange}
* @param processor the {@link Processor} about to be processed
- * @param definition the {@link org.apache.camel.model.ProcessorDefinition} definition of the processor
+ * @param definition the {@link NamedNode} definition of the processor
*/
- void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition);
+ void beforeProcess(Exchange exchange, Processor processor, NamedNode definition);
/**
* Callback invoked when the breakpoint was hit and the {@link Exchange} has been processed (after).
- *
- * @param exchange the {@link Exchange}
+ * @param exchange the {@link Exchange}
* @param processor the {@link Processor} which was processed
- * @param definition the {@link org.apache.camel.model.ProcessorDefinition} definition of the processor
+ * @param definition the {@link NamedNode} definition of the processor
* @param timeTaken time in millis it took to process the {@link Exchange} - time spend in breakpoint callbacks may affect this time
*/
- void afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken);
+ void afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken);
/**
* Callback invoked when the breakpoint was hit and any of the {@link Exchange} {@link EventObject event}s occurred.
*
* @param exchange the {@link Exchange}
* @param event the event (instance of {@link org.apache.camel.management.event.AbstractExchangeEvent}
- * @param definition the {@link org.apache.camel.model.ProcessorDefinition} definition of the last processor executed,
+ * @param definition the {@link NamedNode} definition of the last processor executed,
* may be <tt>null</tt> if not possible to resolve from tracing
* @see org.apache.camel.management.event.AbstractExchangeEvent
*/
- void onEvent(Exchange exchange, EventObject event, ProcessorDefinition<?> definition);
+ void onEvent(Exchange exchange, EventObject event, NamedNode definition);
}
diff --git a/camel-core/src/main/java/org/apache/camel/spi/CamelContextTracker.java b/camel-core/src/main/java/org/apache/camel/spi/CamelContextTracker.java
index 70ae227..429b155 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/CamelContextTracker.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/CamelContextTracker.java
@@ -17,19 +17,32 @@
package org.apache.camel.spi;
import java.io.Closeable;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.function.Predicate;
import org.apache.camel.CamelContext;
-import org.apache.camel.impl.CamelContextTrackerRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A {@link CamelContext} creation tracker.
*/
public class CamelContextTracker implements Closeable {
- public interface Filter {
+ private static final Logger LOG = LoggerFactory.getLogger(CamelContextTracker.class);
+
+ private static final List<CamelContextTracker> TRACKERS = new CopyOnWriteArrayList<>();
+
+ @FunctionalInterface
+ public interface Filter extends Predicate<CamelContext> {
boolean accept(CamelContext camelContext);
+ @Override
+ default boolean test(CamelContext camelContext) {
+ return accept(camelContext);
+ }
}
private final Filter filter;
@@ -61,10 +74,22 @@ public class CamelContextTracker implements Closeable {
}
public final void open() {
- CamelContextTrackerRegistry.INSTANCE.addTracker(this);
+ TRACKERS.add(this);
}
public final void close() {
- CamelContextTrackerRegistry.INSTANCE.removeTracker(this);
+ TRACKERS.remove(this);
+ }
+
+ public static synchronized void notifyContextCreated(CamelContext camelContext) {
+ for (CamelContextTracker tracker : TRACKERS) {
+ try {
+ if (tracker.accept(camelContext)) {
+ tracker.contextCreated(camelContext);
+ }
+ } catch (Exception e) {
+ LOG.warn("Error calling CamelContext tracker. This exception is ignored.", e);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/camel-core/src/main/java/org/apache/camel/spi/Condition.java b/camel-core/src/main/java/org/apache/camel/spi/Condition.java
index 7564b81..9d29f5c 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/Condition.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/Condition.java
@@ -19,8 +19,8 @@ package org.apache.camel.spi;
import java.util.EventObject;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
/**
* A condition to define when a given {@link Exchange} matches when is being routed.
@@ -40,7 +40,7 @@ public interface Condition {
* @param definition the present location in the route where the {@link Exchange} is located at
* @return <tt>true</tt> to match, <tt>false</tt> otherwise
*/
- boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition);
+ boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition);
/**
* Does the condition match
diff --git a/camel-core/src/main/java/org/apache/camel/spi/Debugger.java b/camel-core/src/main/java/org/apache/camel/spi/Debugger.java
index 6c8f1eb..79b523d 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/Debugger.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/Debugger.java
@@ -21,9 +21,9 @@ import java.util.List;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.Service;
-import org.apache.camel.model.ProcessorDefinition;
/**
* A debugger which allows tooling to attach breakpoints which is is being invoked
@@ -119,7 +119,7 @@ public interface Debugger extends Service, CamelContextAware {
* @param definition the definition of the processor
* @return <tt>true</tt> if any breakpoint was hit, <tt>false</tt> if not breakpoint was hit
*/
- boolean beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition);
+ boolean beforeProcess(Exchange exchange, Processor processor, NamedNode definition);
/**
* Callback invoked when an {@link Exchange} has been processed which allows implementators
@@ -131,7 +131,7 @@ public interface Debugger extends Service, CamelContextAware {
* @param timeTaken time in millis it took to process the {@link Exchange} - time spend in breakpoint callbacks may affect this time
* @return <tt>true</tt> if any breakpoint was hit, <tt>false</tt> if not breakpoint was hit
*/
- boolean afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken);
+ boolean afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken);
/**
* Callback invoked when an {@link Exchange} is being processed which allows implementators
diff --git a/camel-core/src/main/java/org/apache/camel/spi/InterceptStrategy.java b/camel-core/src/main/java/org/apache/camel/spi/InterceptStrategy.java
index b8fdffe..0b8e2f2 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/InterceptStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/InterceptStrategy.java
@@ -17,8 +17,8 @@
package org.apache.camel.spi;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
/**
* The purpose of this interface is to allow an implementation to wrap
@@ -42,7 +42,7 @@ public interface InterceptStrategy {
/**
* This method is invoked by
- * {@link ProcessorDefinition#wrapProcessor(RouteContext, Processor)}
+ * {@link org.apache.camel.model.ProcessorDefinition#wrapProcessor(RouteContext, Processor)}
* to give the implementor an opportunity to wrap the target processor
* in a route.
* <p/>
@@ -56,6 +56,6 @@ public interface InterceptStrategy {
* @return processor wrapped with an interceptor or not wrapped.
* @throws Exception can be thrown
*/
- Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition,
+ Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition,
Processor target, Processor nextTarget) throws Exception;
}
diff --git a/camel-core/src/main/java/org/apache/camel/spi/LogListener.java b/camel-core/src/main/java/org/apache/camel/spi/LogListener.java
index 4d8bf9e..620276b 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/LogListener.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/LogListener.java
@@ -18,21 +18,18 @@ package org.apache.camel.spi;
import org.apache.camel.Exchange;
import org.apache.camel.LoggingLevel;
-import org.apache.camel.processor.CamelLogProcessor;
-import org.apache.camel.processor.LogProcessor;
import org.apache.camel.util.CamelLogger;
-import org.slf4j.Marker;
/**
- * An event listener SPI for logging. Listeners are registered into {@link LogProcessor} and
- * {@link CamelLogProcessor} so that the logging events are delivered for both of Log Component and Log EIP.
+ * An event listener SPI for logging. Listeners are registered into {@link org.apache.camel.processor.LogProcessor} and
+ * {@link org.apache.camel.processor.CamelLogProcessor} so that the logging events are delivered for both of Log Component and Log EIP.
*
*/
public interface LogListener {
/**
* Invoked right before Log component or Log EIP logs.
- * Note that {@link CamelLogger} holds the {@link LoggingLevel} and {@link Marker}.
+ * Note that {@link CamelLogger} holds the {@link LoggingLevel} and {@link org.slf4j.Marker}.
* The listener can check {@link CamelLogger#getLevel()} to see in which log level
* this is going to be logged.
*
diff --git a/camel-core/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java b/camel-core/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java
index 1c6eb6b..4868818 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java
@@ -23,12 +23,12 @@ import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.cluster.CamelClusterService;
-import org.apache.camel.model.ProcessorDefinition;
/**
* Strategy for creating the managed object for the various beans Camel register for management.
@@ -57,7 +57,7 @@ public interface ManagementObjectStrategy {
Object getManagedObjectForProducer(CamelContext context, Producer producer);
Object getManagedObjectForProcessor(CamelContext context, Processor processor,
- ProcessorDefinition<?> definition, Route route);
+ NamedNode definition, Route route);
Object getManagedObjectForService(CamelContext context, Service service);
diff --git a/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java b/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
index 8028531..d723de8 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
@@ -19,9 +19,8 @@ package org.apache.camel.spi;
import java.util.EventObject;
import java.util.List;
-import org.apache.camel.ManagementStatisticsLevel;
+import org.apache.camel.NamedNode;
import org.apache.camel.Service;
-import org.apache.camel.model.ProcessorDefinition;
/**
* Strategy for management.
@@ -199,6 +198,6 @@ public interface ManagementStrategy extends Service {
* @param definition definition of the processor
* @return <tt>true</tt> to manage it
*/
- boolean manageProcessor(ProcessorDefinition<?> definition);
+ boolean manageProcessor(NamedNode definition);
}
diff --git a/camel-core/src/main/java/org/apache/camel/spi/Policy.java b/camel-core/src/main/java/org/apache/camel/spi/Policy.java
index aa806f6..b2fcd0c 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/Policy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/Policy.java
@@ -16,8 +16,8 @@
*/
package org.apache.camel.spi;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
/**
* A strategy capable of applying interceptors to a processor.
@@ -41,12 +41,12 @@ public interface Policy {
* Hook invoked before the wrap.
* <p/>
* This allows you to do any custom logic before the processor is wrapped. For example to
- * manipulate the {@link org.apache.camel.model.ProcessorDefinition definiton}
+ * manipulate the {@link org.apache.camel.model.ProcessorDefinition definiton}.
*
* @param routeContext the route context
* @param definition the processor definition
*/
- void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition);
+ void beforeWrap(RouteContext routeContext, NamedNode definition);
/**
* Wraps any applicable interceptors around the given processor.
diff --git a/camel-core/src/main/java/org/apache/camel/spi/ProcessorFactory.java b/camel-core/src/main/java/org/apache/camel/spi/ProcessorFactory.java
index 2639e3e..d32f03f 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ProcessorFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ProcessorFactory.java
@@ -16,8 +16,8 @@
*/
package org.apache.camel.spi;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
/**
* A factory to create {@link Processor} based on the {@link org.apache.camel.model.ProcessorDefinition definition}.
@@ -46,7 +46,7 @@ public interface ProcessorFactory {
* @return the created processor, or <tt>null</tt> to let the default implementation in Camel create the processor.
* @throws Exception can be thrown if error creating the processor
*/
- Processor createChildProcessor(RouteContext routeContext, ProcessorDefinition<?> definition, boolean mandatory) throws Exception;
+ Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception;
/**
* Creates the processor.
@@ -56,6 +56,6 @@ public interface ProcessorFactory {
* @return the created processor, or <tt>null</tt> to let the default implementation in Camel create the processor.
* @throws Exception can be thrown if error creating the processor
*/
- Processor createProcessor(RouteContext routeContext, ProcessorDefinition<?> definition) throws Exception;
+ Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception;
}
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java b/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java
index a8cad9c..119cd48 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java
@@ -23,11 +23,9 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.EndpointAware;
import org.apache.camel.Experimental;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.RuntimeConfiguration;
-import org.apache.camel.model.FromDefinition;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.RouteDefinition;
/**
* The context used to activate new routing rules
@@ -41,14 +39,14 @@ public interface RouteContext extends RuntimeConfiguration, EndpointAware {
*
* @return the from type
*/
- FromDefinition getFrom();
+ NamedNode getFrom();
/**
* Get the route type
*
* @return the route type
*/
- RouteDefinition getRoute();
+ NamedNode getRoute();
/**
* Gets the camel context
@@ -152,7 +150,7 @@ public interface RouteContext extends RuntimeConfiguration, EndpointAware {
InterceptStrategy getManagedInterceptStrategy();
/**
- * If this flag is true, {@link ProcessorDefinition#addRoutes(RouteContext, java.util.Collection)}
+ * If this flag is true, {@link org.apache.camel.model.ProcessorDefinition#addRoutes(RouteContext, java.util.Collection)}
* will not add processor to addEventDrivenProcessor to the RouteContext and it
* will prevent from adding an EventDrivenRoute.
*
@@ -191,7 +189,7 @@ public interface RouteContext extends RuntimeConfiguration, EndpointAware {
* @param node the current node
* @return the current count
*/
- int getAndIncrement(ProcessorDefinition<?> node);
+ int getAndIncrement(NamedNode node);
/**
* Gets the last error.
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RouteController.java b/camel-core/src/main/java/org/apache/camel/spi/RouteController.java
index f6f03e7..5cb8600 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RouteController.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RouteController.java
@@ -19,16 +19,17 @@ package org.apache.camel.spi;
import java.util.Collection;
import java.util.concurrent.TimeUnit;
+import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Experimental;
import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.ServiceStatus;
+import org.apache.camel.StaticService;
// TODO: Add javadoc
-@Experimental
-public interface RouteController extends CamelContextAware, Service {
+public interface RouteController extends CamelContextAware, StaticService {
/**
* Return the list of routes controlled by this controller.
@@ -54,20 +55,96 @@ public interface RouteController extends CamelContextAware, Service {
*/
boolean isStartingRoutes();
+ /**
+ * Returns the current status of the given route
+ *
+ * @param routeId the route id
+ * @return the status for the route
+ */
ServiceStatus getRouteStatus(String routeId);
+ /**
+ * Starts the given route if it has been previously stopped
+ *
+ * @param routeId the route id
+ * @throws Exception is thrown if the route could not be started for whatever reason
+ */
void startRoute(String routeId) throws Exception;
+ /**
+ * Stops the given route using {@link org.apache.camel.spi.ShutdownStrategy}.
+ *
+ * @param routeId the route id
+ * @throws Exception is thrown if the route could not be stopped for whatever reason
+ * @see #suspendRoute(String)
+ */
void stopRoute(String routeId) throws Exception;
+ /**
+ * Stops the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout.
+ *
+ * @param routeId the route id
+ * @param timeout timeout
+ * @param timeUnit the unit to use
+ * @throws Exception is thrown if the route could not be stopped for whatever reason
+ * @see #suspendRoute(String, long, java.util.concurrent.TimeUnit)
+ */
void stopRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception;
+ /**
+ * Stops the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout
+ * and optional abortAfterTimeout mode.
+ *
+ * @param routeId the route id
+ * @param timeout timeout
+ * @param timeUnit the unit to use
+ * @param abortAfterTimeout should abort shutdown after timeout
+ * @return <tt>true</tt> if the route is stopped before the timeout
+ * @throws Exception is thrown if the route could not be stopped for whatever reason
+ * @see #suspendRoute(String, long, java.util.concurrent.TimeUnit)
+ */
boolean stopRoute(String routeId, long timeout, TimeUnit timeUnit, boolean abortAfterTimeout) throws Exception;
+ /**
+ * Suspends the given route using {@link org.apache.camel.spi.ShutdownStrategy}.
+ * <p/>
+ * Suspending a route is more gently than stopping, as the route consumers will be suspended (if they support)
+ * otherwise the consumers will be stopped.
+ * <p/>
+ * By suspending the route services will be kept running (if possible) and therefore its faster to resume the route.
+ * <p/>
+ * If the route does <b>not</b> support suspension the route will be stopped instead
+ *
+ * @param routeId the route id
+ * @throws Exception is thrown if the route could not be suspended for whatever reason
+ */
void suspendRoute(String routeId) throws Exception;
+ /**
+ * Suspends the given route using {@link org.apache.camel.spi.ShutdownStrategy} with a specified timeout.
+ * <p/>
+ * Suspending a route is more gently than stopping, as the route consumers will be suspended (if they support)
+ * otherwise the consumers will be stopped.
+ * <p/>
+ * By suspending the route services will be kept running (if possible) and therefore its faster to resume the route.
+ * <p/>
+ * If the route does <b>not</b> support suspension the route will be stopped instead
+ *
+ * @param routeId the route id
+ * @param timeout timeout
+ * @param timeUnit the unit to use
+ * @throws Exception is thrown if the route could not be suspended for whatever reason
+ */
void suspendRoute(String routeId, long timeout, TimeUnit timeUnit) throws Exception;
+ /**
+ * Resumes the given route if it has been previously suspended
+ * <p/>
+ * If the route does <b>not</b> support suspension the route will be started instead
+ *
+ * @param routeId the route id
+ * @throws Exception is thrown if the route could not be resumed for whatever reason
+ */
void resumeRoute(String routeId) throws Exception;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RoutePolicyFactory.java b/camel-core/src/main/java/org/apache/camel/spi/RoutePolicyFactory.java
index 2632388..216d150 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RoutePolicyFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RoutePolicyFactory.java
@@ -17,7 +17,7 @@
package org.apache.camel.spi;
import org.apache.camel.CamelContext;
-import org.apache.camel.model.RouteDefinition;
+import org.apache.camel.NamedNode;
/**
* A factory to create {@link org.apache.camel.spi.RoutePolicy} and assign to routes automatic.
@@ -32,5 +32,5 @@ public interface RoutePolicyFactory {
* @param route the route definition
* @return the created {@link org.apache.camel.spi.RoutePolicy}, or <tt>null</tt> to not use a policy for this route
*/
- RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route);
+ RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route);
}
diff --git a/camel-core/src/main/java/org/apache/camel/spi/Transformer.java b/camel-core/src/main/java/org/apache/camel/spi/Transformer.java
index f282c6f..ff398e0 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/Transformer.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/Transformer.java
@@ -19,19 +19,16 @@ package org.apache.camel.spi;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Message;
-import org.apache.camel.model.InputTypeDefinition;
-import org.apache.camel.model.OutputTypeDefinition;
-import org.apache.camel.processor.ContractAdvice;
import org.apache.camel.support.ServiceSupport;
/**
* <a href="http://camel.apache.org/transformer.html">Transformer</a>
* performs message transformation according to the declared data type.
- * {@link ContractAdvice} looks for a required Transformer and apply if
+ * {@link org.apache.camel.processor.ContractAdvice} looks for a required Transformer and apply if
* input/output type declared on a route is different from current message type.
*
- * @see {@link ContractAdvice}
- * {@link DataType} {@link InputTypeDefinition} {@link OutputTypeDefinition}
+ * @see {@link org.apache.camel.processor.ContractAdvice}
+ * {@link DataType} {@link org.apache.camel.model.InputTypeDefinition} {@link org.apache.camel.model.OutputTypeDefinition}
*/
public abstract class Transformer extends ServiceSupport implements CamelContextAware {
diff --git a/camel-core/src/main/java/org/apache/camel/spi/Validator.java b/camel-core/src/main/java/org/apache/camel/spi/Validator.java
index 50b2d86..67125bb 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/Validator.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/Validator.java
@@ -20,19 +20,16 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Message;
import org.apache.camel.ValidationException;
-import org.apache.camel.model.InputTypeDefinition;
-import org.apache.camel.model.OutputTypeDefinition;
-import org.apache.camel.processor.ContractAdvice;
import org.apache.camel.support.ServiceSupport;
/**
* <a href="http://camel.apache.org/validator.html">Validator</a>
* performs message content validation according to the declared data type.
- * {@link ContractAdvice} applies Validator if input/output type is declared on
+ * {@link org.apache.camel.processor.ContractAdvice} applies Validator if input/output type is declared on
* a route with validation enabled.
*
- * @see {@link ContractAdvice}
- * {@link InputTypeDefinition} {@link OutputTypeDefinition}
+ * @see {@link org.apache.camel.processor.ContractAdvice}
+ * {@link org.apache.camel.model.InputTypeDefinition} {@link org.apache.camel.model.OutputTypeDefinition}
*/
public abstract class Validator extends ServiceSupport implements CamelContextAware {
diff --git a/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java b/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
index bfa56ae..7d90d33 100644
--- a/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
@@ -16,7 +16,6 @@
*/
package org.apache.camel.util;
-import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -45,7 +44,6 @@ import java.util.Optional;
import java.util.Properties;
import java.util.concurrent.Callable;
import java.util.function.Consumer;
-import java.util.function.Function;
import java.util.function.Supplier;
import org.w3c.dom.Node;
@@ -62,7 +60,6 @@ import org.apache.camel.Ordered;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.TypeConverter;
import org.apache.camel.WrappedFile;
-import org.apache.camel.util.function.ThrowingFunction;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -419,35 +416,6 @@ public final class ObjectHelper {
}
/**
- * Tests whether the value is <b>not</b> <tt>null</tt>, an empty string, an empty collection or a map and transform it using the given function.
- *
- * @param value the value, if its a String it will be tested for text length as well
- * @param function the function to be executed against value if not empty
- */
- public static <I, R, T extends Throwable> Optional<R> applyIfNotEmpty(I value, ThrowingFunction<I, R, T> function) throws T {
- if (isNotEmpty(value)) {
- return Optional.ofNullable(function.apply(value));
- }
-
- return Optional.empty();
- }
-
- /**
- * Tests whether the value is <b>not</b> <tt>null</tt>, an empty string, an empty collection or a map and transform it using the given function.
- *
- * @param value the value, if its a String it will be tested for text length as well
- * @param consumer the function to be executed against value if not empty
- * @param orElse the supplier to use to retrieve a result if the given value is empty
- */
- public static <I, R, T extends Throwable> R applyIfNotEmpty(I value, ThrowingFunction<I, R, T> consumer, Supplier<R> orElse) throws T {
- if (isNotEmpty(value)) {
- return consumer.apply(value);
- }
-
- return orElse.get();
- }
-
- /**
* Returns true if the collection contains the specified value
*/
public static boolean contains(Object collectionOrArray, Object value) {
diff --git a/camel-core/src/main/java/org/apache/camel/util/TimeUtils.java b/camel-core/src/main/java/org/apache/camel/util/TimeUtils.java
index 49f8f3b..4fc42c0 100644
--- a/camel-core/src/main/java/org/apache/camel/util/TimeUtils.java
+++ b/camel-core/src/main/java/org/apache/camel/util/TimeUtils.java
@@ -20,14 +20,25 @@ import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Time utils.
*
- * @version
+ * @version
*/
public final class TimeUtils {
+ private static final Logger LOG = LoggerFactory.getLogger(TimeUtils.class);
+ private static final Pattern NUMBERS_ONLY_STRING_PATTERN = Pattern.compile("^[-]?(\\d)+$", Pattern.CASE_INSENSITIVE);
+ private static final Pattern HOUR_REGEX_PATTERN = Pattern.compile("((\\d)*(\\d))h(our(s)?)?", Pattern.CASE_INSENSITIVE);
+ private static final Pattern MINUTES_REGEX_PATTERN = Pattern.compile("((\\d)*(\\d))m(in(ute(s)?)?)?", Pattern.CASE_INSENSITIVE);
+ private static final Pattern SECONDS_REGEX_PATTERN = Pattern.compile("((\\d)*(\\d))s(ec(ond)?(s)?)?", Pattern.CASE_INSENSITIVE);
+
private TimeUtils() {
}
@@ -74,4 +85,108 @@ public final class TimeUtils {
return s;
}
+ public static long toMilliSeconds(String source) throws IllegalArgumentException {
+ // quick conversion if its only digits
+ boolean digit = true;
+ for (int i = 0; i < source.length(); i++) {
+ char ch = source.charAt(i);
+ // special for fist as it can be negative number
+ if (i == 0 && ch == '-') {
+ continue;
+ }
+ // quick check if its 0..9
+ if (ch < '0' || ch > '9') {
+ digit = false;
+ break;
+ }
+ }
+ if (digit) {
+ return Long.valueOf(source);
+ }
+
+ long milliseconds = 0;
+ boolean foundFlag = false;
+
+ checkCorrectnessOfPattern(source);
+ Matcher matcher;
+
+ matcher = createMatcher(NUMBERS_ONLY_STRING_PATTERN, source);
+ if (matcher.find()) {
+ // Note: This will also be used for regular numeric strings.
+ // This String -> long converter will be used for all strings.
+ milliseconds = Long.valueOf(source);
+ } else {
+ matcher = createMatcher(HOUR_REGEX_PATTERN, source);
+ if (matcher.find()) {
+ milliseconds = milliseconds + (3600000 * Long.valueOf(matcher.group(1)));
+ foundFlag = true;
+ }
+
+ matcher = createMatcher(MINUTES_REGEX_PATTERN, source);
+ if (matcher.find()) {
+ long minutes = Long.valueOf(matcher.group(1));
+ if ((minutes > 59) && foundFlag) {
+ throw new IllegalArgumentException("Minutes should contain a valid value between 0 and 59: " + source);
+ }
+ foundFlag = true;
+ milliseconds = milliseconds + (60000 * minutes);
+ }
+
+ matcher = createMatcher(SECONDS_REGEX_PATTERN, source);
+ if (matcher.find()) {
+ long seconds = Long.valueOf(matcher.group(1));
+ if ((seconds > 59) && foundFlag) {
+ throw new IllegalArgumentException("Seconds should contain a valid value between 0 and 59: " + source);
+ }
+ foundFlag = true;
+ milliseconds = milliseconds + (1000 * seconds);
+ }
+
+ // No pattern matched... initiating fallback check and conversion (if required).
+ // The source at this point may contain illegal values or special characters
+ if (!foundFlag) {
+ milliseconds = Long.valueOf(source);
+ }
+ }
+
+ LOG.trace("source: {} milliseconds: ", source, milliseconds);
+
+ return milliseconds;
+ }
+
+ private static void checkCorrectnessOfPattern(String source) {
+ //replace only numbers once
+ Matcher matcher = createMatcher(NUMBERS_ONLY_STRING_PATTERN, source);
+ String replaceSource = matcher.replaceFirst("");
+
+ //replace hour string once
+ matcher = createMatcher(HOUR_REGEX_PATTERN, replaceSource);
+ if (matcher.find() && matcher.find()) {
+ throw new IllegalArgumentException("Hours should not be specified more then once: " + source);
+ }
+ replaceSource = matcher.replaceFirst("");
+
+ //replace minutes once
+ matcher = createMatcher(MINUTES_REGEX_PATTERN, replaceSource);
+ if (matcher.find() && matcher.find()) {
+ throw new IllegalArgumentException("Minutes should not be specified more then once: " + source);
+ }
+ replaceSource = matcher.replaceFirst("");
+
+ //replace seconds once
+ matcher = createMatcher(SECONDS_REGEX_PATTERN, replaceSource);
+ if (matcher.find() && matcher.find()) {
+ throw new IllegalArgumentException("Seconds should not be specified more then once: " + source);
+ }
+ replaceSource = matcher.replaceFirst("");
+
+ if (replaceSource.length() > 0) {
+ throw new IllegalArgumentException("Illegal characters: " + source);
+ }
+ }
+
+ private static Matcher createMatcher(Pattern pattern, String source) {
+ return pattern.matcher(source);
+ }
+
}
diff --git a/camel-core/src/main/java/org/apache/camel/util/function/ThrowingHelper.java b/camel-core/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
index 75a3246..4d75466 100644
--- a/camel-core/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/function/ThrowingHelper.java
@@ -16,11 +16,14 @@
*/
package org.apache.camel.util.function;
+import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
+import org.apache.camel.util.ObjectHelper;
+
public final class ThrowingHelper {
private ThrowingHelper() {
}
@@ -65,4 +68,33 @@ public final class ThrowingHelper {
}
};
}
+
+ /**
+ * Tests whether the value is <b>not</b> <tt>null</tt>, an empty string, an empty collection or a map and transform it using the given function.
+ *
+ * @param value the value, if its a String it will be tested for text length as well
+ * @param function the function to be executed against value if not empty
+ */
+ public static <I, R, T extends Throwable> Optional<R> applyIfNotEmpty(I value, ThrowingFunction<I, R, T> function) throws T {
+ if (ObjectHelper.isNotEmpty(value)) {
+ return Optional.ofNullable(function.apply(value));
+ }
+
+ return Optional.empty();
+ }
+
+ /**
+ * Tests whether the value is <b>not</b> <tt>null</tt>, an empty string, an empty collection or a map and transform it using the given function.
+ *
+ * @param value the value, if its a String it will be tested for text length as well
+ * @param consumer the function to be executed against value if not empty
+ * @param orElse the supplier to use to retrieve a result if the given value is empty
+ */
+ public static <I, R, T extends Throwable> R applyIfNotEmpty(I value, ThrowingFunction<I, R, T> consumer, Supplier<R> orElse) throws T {
+ if (ObjectHelper.isNotEmpty(value)) {
+ return consumer.apply(value);
+ }
+
+ return orElse.get();
+ }
}
diff --git a/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java b/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
index 97a63aa..17edec6 100644
--- a/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
@@ -17,10 +17,10 @@
package org.apache.camel.component.rest;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -61,7 +61,7 @@ public class FromRestGetPolicyTest extends ContextTestSupport {
private class MyDummyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// noop
}
diff --git a/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java b/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
index 569f516..d7f6c87 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
@@ -22,6 +22,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.OptionalIdentifiedDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateProcessor;
import org.apache.camel.spi.InterceptStrategy;
@@ -114,12 +115,12 @@ public class CustomIdFactoryTest extends ContextTestSupport {
private static class MyDebuggerCheckingId implements InterceptStrategy {
- public Processor wrapProcessorInInterceptors(final CamelContext context,
- final ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(final CamelContext context,
+ final NamedNode definition, Processor target, Processor nextTarget) throws Exception {
// MUST DO THIS
// force id creation as sub nodes have lazy assigned ids
- definition.idOrCreate(context.getNodeIdFactory());
+ ((OptionalIdentifiedDefinition<?>) definition).idOrCreate(context.getNodeIdFactory());
return new DelegateProcessor(target) {
@Override
diff --git a/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAutoStartupTest.java b/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAutoStartupTest.java
index 748dc68..f99b252 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAutoStartupTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextAutoStartupTest.java
@@ -44,12 +44,12 @@ public class DefaultCamelContextAutoStartupTest extends TestSupport {
assertEquals(true, camel.isStarted());
assertEquals(1, camel.getRoutes().size());
- assertEquals(true, camel.getRouteStatus("foo").isStopped());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStopped());
// now start all routes
camel.getRouteController().startAllRoutes();
- assertEquals(true, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStarted());
// and now its started we can test that it works by sending in a message to the route
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
@@ -78,12 +78,12 @@ public class DefaultCamelContextAutoStartupTest extends TestSupport {
assertEquals(true, camel.isStarted());
assertEquals(1, camel.getRoutes().size());
- assertEquals(true, camel.getRouteStatus("foo").isStopped());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStopped());
// now start the routes
camel.startRoute("foo");
- assertEquals(true, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStarted());
// and now its started we can test that it works by sending in a message to the route
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
@@ -112,7 +112,7 @@ public class DefaultCamelContextAutoStartupTest extends TestSupport {
assertEquals(true, camel.isStarted());
assertEquals(1, camel.getRoutes().size());
- assertEquals(true, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStarted());
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
mock.expectedMessageCount(1);
@@ -142,13 +142,13 @@ public class DefaultCamelContextAutoStartupTest extends TestSupport {
assertEquals(true, camel.isStarted());
assertEquals(1, camel.getRoutes().size());
- assertEquals(true, camel.getRouteStatus("foo").isStopped());
- assertEquals(false, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStopped());
+ assertEquals(false, camel.getRouteController().getRouteStatus("foo").isStarted());
// now start all the routes
camel.getRouteController().startAllRoutes();
- assertEquals(true, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStarted());
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
mock.expectedMessageCount(1);
diff --git a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java
index 52c1b3a..a4cb99f 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java
@@ -19,9 +19,9 @@ package org.apache.camel.impl;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
import org.apache.camel.support.RoutePolicySupport;
@@ -48,7 +48,7 @@ public class RoutePolicyFactoryTest extends ContextTestSupport {
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
return new MyRoutePolicy(routeId);
}
}
diff --git a/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java b/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java
index 3227192..91f033a 100644
--- a/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java
+++ b/camel-core/src/test/java/org/apache/camel/impl/StartAndStopRoutesTest.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.model.FromDefinition;
+import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.RouteDefinition;
import org.junit.Test;
@@ -56,12 +57,12 @@ public class StartAndStopRoutesTest extends ContextTestSupport {
assertMockEndpointsSatisfied();
// stop the route
- context.stopRoute(route);
+ context.getRouteController().stopRoute(route.getId());
// lets mutate the route...
FromDefinition fromType = assertOneElement(route.getInputs());
fromType.setUri("direct:test.C");
- context.startRoute(route);
+ context.adapt(ModelCamelContext.class).addRouteDefinition(route);
// now lets check it works
// send from C over B to results
diff --git a/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java b/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java
index 55fd710..e9899eb 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java
@@ -17,10 +17,10 @@
package org.apache.camel.issues;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.AdviceWithRouteBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
@@ -67,7 +67,7 @@ public class AdviceWithPolicyTest extends ContextTestSupport {
private static final class MyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// noop
}
diff --git a/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java
index c0654e8..6a322be 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java
@@ -19,9 +19,9 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -71,7 +71,7 @@ public class AdviceWithStartTargetIssueTest extends ContextTestSupport {
private static final Logger LOG = LoggerFactory.getLogger(ContainerWideInterceptor.class);
private static int count;
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
return new DelegateAsyncProcessor(new Processor() {
diff --git a/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java b/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java
index ef9db1d..7fe3835 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java
@@ -17,10 +17,10 @@
package org.apache.camel.issues;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.AdviceWithRouteBuilder;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -64,7 +64,7 @@ public class AdviceWithTransactedTest extends ContextTestSupport {
private static final class MyDummyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// noop
}
diff --git a/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java b/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java
index 74e75a52..ccf56ff 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java
@@ -22,10 +22,10 @@ import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.Header;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.DynamicRouterDefinition;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -40,7 +40,7 @@ public class DynamicRouterWithInterceptorTest extends ContextTestSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(MyInterceptStrategy.class);
private static int doneCount;
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
if (definition instanceof DynamicRouterDefinition<?>) {
final DelegateAsyncProcessor delegateAsyncProcessor = new DelegateAsyncProcessor() {
diff --git a/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java b/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java
index 1fd3194..a1fe383 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java
@@ -20,9 +20,9 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RecipientListDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
@@ -38,7 +38,7 @@ public class RecipientListWithInterceptorTest extends ContextTestSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(MyInterceptStrategy.class);
private static int doneCount;
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
if (definition instanceof RecipientListDefinition<?>) {
final DelegateAsyncProcessor delegateAsyncProcessor = new DelegateAsyncProcessor() {
diff --git a/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java b/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java
index c2d3eaf..b872daf 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java
@@ -20,9 +20,9 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RoutingSlipDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
@@ -38,7 +38,7 @@ public class RoutingSlipWithInterceptorTest extends ContextTestSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(MyInterceptStrategy.class);
private static int doneCount;
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
if (definition instanceof RoutingSlipDefinition<?>) {
final DelegateAsyncProcessor delegateAsyncProcessor = new DelegateAsyncProcessor() {
diff --git a/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java b/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java
index 05d8643..88eeb21 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java
@@ -20,9 +20,9 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SplitDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
@@ -38,7 +38,7 @@ public class SplitWithInterceptorTest extends ContextTestSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(MyInterceptStrategy.class);
private static int doneCount;
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
if (definition instanceof SplitDefinition) {
final DelegateAsyncProcessor delegateAsyncProcessor = new DelegateAsyncProcessor() {
diff --git a/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java
index ac2d12c..f3e442f 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java
@@ -18,10 +18,10 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.properties.PropertiesComponent;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -66,7 +66,7 @@ public class TransactedPropertyPlaceholderIssueTest extends ContextTestSupport {
private static final class MyDummyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// noop
}
diff --git a/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java b/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java
index 3be1ed7..210eb48 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java
@@ -18,10 +18,10 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
/**
@@ -59,7 +59,7 @@ public class TwoTimerWithJMXIssue extends ContextTestSupport {
private static class MyTracer implements InterceptStrategy {
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition,
Processor target, Processor nextTarget) throws Exception {
assertNotNull(target);
counter++;
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java
index 238fb47..2d5f331 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedAggregateControllerTest.java
@@ -160,7 +160,7 @@ public class ManagedAggregateControllerTest extends ManagementTestSupport {
assertEquals(1, pending.intValue());
// we can also use the client mbean
- ManagedAggregateProcessorMBean client = context.getManagedProcessor("myAggregator", ManagedAggregateProcessorMBean.class);
+ ManagedAggregateProcessorMBean client = context.adapt(ManagedCamelContext.class).getManagedProcessor("myAggregator", ManagedAggregateProcessorMBean.class);
assertNotNull(client);
assertEquals(1, client.getCompletedByForce());
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index 9257138..7e5a06d 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -51,7 +51,7 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
return;
}
- ManagedCamelContextMBean client = context.getManagedCamelContext();
+ ManagedCamelContextMBean client = context.adapt(ManagedCamelContext.class).getManagedCamelContext();
assertNotNull(client);
assertEquals("camel-1", client.getCamelId());
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java
index 6b2221f..18b8e41 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java
@@ -23,9 +23,9 @@ import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -85,7 +85,7 @@ public class ManagedCustomPolicyTest extends ManagementTestSupport {
private final class MyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// noop
}
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java
index a3bd0d5..5cd26b2 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedInlinedProcessorTest.java
@@ -47,7 +47,7 @@ public class ManagedInlinedProcessorTest extends ManagementTestSupport {
Long counter = (Long) mbeanServer.getAttribute(on, "ExchangesCompleted");
assertEquals(1L, counter.longValue());
- ManagedProcessorMBean mb = context.getManagedProcessor("custom", ManagedProcessorMBean.class);
+ ManagedProcessorMBean mb = context.adapt(ManagedCamelContext.class).getManagedProcessor("custom", ManagedProcessorMBean.class);
assertNotNull(mb);
assertEquals(1L, mb.getExchangesCompleted());
}
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java
index ce72f80..04b2925 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteSuspendAndResumeTest.java
@@ -91,7 +91,7 @@ public class ManagedRouteSuspendAndResumeTest extends ManagementTestSupport {
// this time the file is consumed
mock.assertIsSatisfied();
- ManagedSuspendableRouteMBean route = context.getManagedRoute("foo", ManagedSuspendableRouteMBean.class);
+ ManagedSuspendableRouteMBean route = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedSuspendableRouteMBean.class);
assertNotNull(route);
assertEquals(2, route.getExchangesCompleted());
diff --git a/camel-core/src/test/java/org/apache/camel/management/RemoveRouteDefinitionTest.java b/camel-core/src/test/java/org/apache/camel/management/RemoveRouteDefinitionTest.java
index 32b24f6..f10a302 100644
--- a/camel-core/src/test/java/org/apache/camel/management/RemoveRouteDefinitionTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/RemoveRouteDefinitionTest.java
@@ -24,6 +24,7 @@ import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.RouteDefinition;
import org.junit.Test;
@@ -53,7 +54,8 @@ public class RemoveRouteDefinitionTest extends ManagementTestSupport {
RouteDefinition definition = context.getRouteDefinition("route1");
List<RouteDefinition> routeDefinitions = new ArrayList<>();
routeDefinitions.add(definition);
- context.shutdownRoute("route1");
+ context.getRouteController().stopRoute("route1");
+ context.adapt(ModelCamelContext.class).removeRoute("route1");
// route is shutdown (= also removed), so its not longer in JMX
set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null);
@@ -81,7 +83,7 @@ public class RemoveRouteDefinitionTest extends ManagementTestSupport {
List<RouteDefinition> routeDefinitions = new ArrayList<>();
routeDefinitions.add(definition);
// must stop before we can remove
- context.stopRoute("route1");
+ context.getRouteController().stopRoute("route1");
context.removeRoute("route1");
// route is removed, so its not longer in JMX
@@ -109,7 +111,7 @@ public class RemoveRouteDefinitionTest extends ManagementTestSupport {
RouteDefinition definition = context.getRouteDefinition("route1");
List<RouteDefinition> routeDefinitions = new ArrayList<>();
routeDefinitions.add(definition);
- context.stopRoute("route1");
+ context.getRouteController().stopRoute("route1");
// route is only stopped so its still in JMX
set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null);
diff --git a/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java b/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
index 1d19143..39ae478 100644
--- a/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
+++ b/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
@@ -20,6 +20,7 @@ import java.io.InputStream;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Policy;
@@ -83,7 +84,7 @@ public class LoadRouteFromXmlWithPolicyTest extends ContextTestSupport {
}
public void beforeWrap(RouteContext routeContext,
- ProcessorDefinition<?> definition) {
+ NamedNode definition) {
// no need to modify the route
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java b/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java
index a5b30b6..e827776 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java
@@ -18,9 +18,9 @@ package org.apache.camel.processor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetBodyDefinition;
import org.apache.camel.model.SplitDefinition;
import org.apache.camel.model.ToDefinition;
@@ -86,11 +86,11 @@ public class CustomProcessorFactoryTest extends ContextTestSupport {
// START SNIPPET: e3
public static class MyFactory implements ProcessorFactory {
- public Processor createChildProcessor(RouteContext routeContext, ProcessorDefinition<?> definition, boolean mandatory) throws Exception {
+ public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
return null;
}
- public Processor createProcessor(RouteContext routeContext, ProcessorDefinition<?> definition) throws Exception {
+ public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
if (definition instanceof SplitDefinition) {
// add additional output to the splitter
SplitDefinition split = (SplitDefinition) definition;
diff --git a/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java b/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
index 55083fc..2ee8640 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
@@ -18,10 +18,12 @@ package org.apache.camel.processor;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.SetBodyDefinition;
import org.apache.camel.model.language.ConstantExpression;
import org.apache.camel.spi.Policy;
@@ -80,8 +82,8 @@ public class DefinitionPolicyPerProcessorTest extends ContextTestSupport {
return invoked;
}
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
- SetBodyDefinition bodyDef = (SetBodyDefinition) definition.getOutputs().get(0);
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ SetBodyDefinition bodyDef = (SetBodyDefinition) ((ProcessorDefinition<?>) definition).getOutputs().get(0);
bodyDef.setExpression(new ConstantExpression("body was altered"));
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java b/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java
index bfeb0b2..d93e482 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java
@@ -24,11 +24,11 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.management.event.AbstractExchangeEvent;
import org.apache.camel.model.PipelineDefinition;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.apache.camel.support.ServiceSupport;
import org.apache.camel.util.StopWatch;
@@ -137,7 +137,7 @@ public class PipelineStepWithEventTest extends ContextTestSupport {
private class MyInterceptStrategy implements InterceptStrategy {
@Override
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
// grab the listener
StepEventListener listener = context.hasService(StepEventListener.class);
diff --git a/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java b/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
index 5ef2731..d700aa5 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
@@ -18,10 +18,10 @@ package org.apache.camel.processor;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -89,7 +89,7 @@ public class PolicyPerProcessorTest extends ContextTestSupport {
}
public void beforeWrap(RouteContext routeContext,
- ProcessorDefinition<?> definition) {
+ NamedNode definition) {
// no need to modify the route
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java b/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
index 6a80a64..75ada89 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
@@ -18,10 +18,10 @@ package org.apache.camel.processor;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.junit.Test;
@@ -89,7 +89,7 @@ public class PolicyPerRouteTest extends ContextTestSupport {
}
public void beforeWrap(RouteContext routeContext,
- ProcessorDefinition<?> definition) {
+ NamedNode definition) {
// no need to modify the route
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java
index c2434af..746b565 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java
@@ -22,9 +22,9 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -87,7 +87,7 @@ public class AsyncEndpointCustomAsyncInterceptorTest extends ContextTestSupport
private static class MyInterceptor implements InterceptStrategy {
private AtomicInteger counter = new AtomicInteger();
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
// use DelegateAsyncProcessor to ensure the interceptor works well with the asynchronous routing
diff --git a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java
index fcb2791..51e8b3f 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java
@@ -21,9 +21,9 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -90,7 +90,7 @@ public class AsyncEndpointCustomInterceptorTest extends ContextTestSupport {
private static class MyInterceptor implements InterceptStrategy {
private AtomicInteger counter = new AtomicInteger();
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
return new Processor() {
diff --git a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
index f7076c9..9ce8153 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
@@ -20,10 +20,10 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.AsyncProcessorConverterHelper;
@@ -113,7 +113,7 @@ public class AsyncEndpointPolicyTest extends ContextTestSupport {
}
public void beforeWrap(RouteContext routeContext,
- ProcessorDefinition<?> definition) {
+ NamedNode definition) {
// no need to modify the route
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java b/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java
index d6cdd32..82e34ac 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java
@@ -21,9 +21,11 @@ import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -84,8 +86,9 @@ public class ParentChildInterceptStrategyTest extends ContextTestSupport {
public static final class MyParentChildInterceptStrategy implements InterceptStrategy {
@Override
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode node,
final Processor target, final Processor nextTarget) throws Exception {
+ ProcessorDefinition<?> definition = (ProcessorDefinition<?>) node;
String targetId = definition.hasCustomIdAssigned() ? definition.getId() : definition.getLabel();
ProcessorDefinition<?> parent = definition.getParent();
String parentId = "";
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java
index fa8404f..1068572 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java
@@ -19,9 +19,9 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Before;
@@ -92,7 +92,7 @@ public class AuditInterceptorAsyncDelegateIssueTest extends ContextTestSupport {
private static final class MyIntercepStrategy implements InterceptStrategy {
private volatile boolean invoked;
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
return new DelegateAsyncProcessor(target) {
public boolean process(Exchange exchange, AsyncCallback callback) {
invoked = true;
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java
index 9806598..ec75d79 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java
@@ -18,9 +18,9 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateProcessor;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Before;
@@ -91,7 +91,7 @@ public class AuditInterceptorDelegateIssueTest extends ContextTestSupport {
private static final class MyIntercepStrategy implements InterceptStrategy {
private volatile boolean invoked;
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
return new DelegateProcessor(target) {
protected void processNext(Exchange exchange) throws Exception {
invoked = true;
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java
index db173db..0da42f0 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java
@@ -21,10 +21,12 @@ import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.LogDefinition;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.SplitDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.spi.InterceptStrategy;
@@ -79,9 +81,9 @@ public class CustomInterceptorRouteWithChildOutputTest extends ContextTestSuppor
private final List<ProcessorDefinition> defs = new ArrayList<>();
@Override
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition,
Processor target, Processor nextTarget) throws Exception {
- defs.add(definition);
+ defs.add((ProcessorDefinition<?>) definition);
return target;
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionBreakpointTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionBreakpointTest.java
index 57d8041..5e4f03b 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionBreakpointTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionBreakpointTest.java
@@ -21,12 +21,12 @@ import java.util.List;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.BreakpointSupport;
import org.apache.camel.impl.ConditionSupport;
import org.apache.camel.impl.DefaultDebugger;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Breakpoint;
import org.apache.camel.spi.Condition;
import org.junit.Before;
@@ -49,7 +49,7 @@ public class DebugExceptionBreakpointTest extends ContextTestSupport {
breakpoint = new BreakpointSupport() {
@Override
- public void afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken) {
+ public void afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken) {
Exception e = exchange.getException();
logs.add("Breakpoint at " + definition.getShortName() + " caused by: " + e.getClass().getSimpleName() + "[" + e.getMessage() + "]");
}
@@ -57,7 +57,7 @@ public class DebugExceptionBreakpointTest extends ContextTestSupport {
exceptionCondition = new ConditionSupport() {
@Override
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
return exchange.getException() != null;
}
};
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionEventBreakpointTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionEventBreakpointTest.java
index ba84119..18f11f7 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionEventBreakpointTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugExceptionEventBreakpointTest.java
@@ -22,13 +22,13 @@ import java.util.List;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.BreakpointSupport;
import org.apache.camel.impl.ConditionSupport;
import org.apache.camel.impl.DefaultDebugger;
import org.apache.camel.management.event.AbstractExchangeEvent;
import org.apache.camel.management.event.ExchangeFailedEvent;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Breakpoint;
import org.apache.camel.spi.Condition;
import org.junit.Before;
@@ -50,7 +50,7 @@ public class DebugExceptionEventBreakpointTest extends ContextTestSupport {
super.setUp();
breakpoint = new BreakpointSupport() {
- public void onEvent(Exchange exchange, EventObject event, ProcessorDefinition<?> definition) {
+ public void onEvent(Exchange exchange, EventObject event, NamedNode definition) {
AbstractExchangeEvent aee = (AbstractExchangeEvent) event;
Exception e = aee.getExchange().getException();
logs.add("Breakpoint at " + definition + " caused by: " + e.getClass().getSimpleName() + "[" + e.getMessage() + "]");
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepConditionTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepConditionTest.java
index 471580a..c3cd51e 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepConditionTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepConditionTest.java
@@ -21,12 +21,12 @@ import java.util.List;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.BreakpointSupport;
import org.apache.camel.impl.ConditionSupport;
import org.apache.camel.impl.DefaultDebugger;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Breakpoint;
import org.apache.camel.spi.Condition;
import org.junit.Before;
@@ -48,14 +48,14 @@ public class DebugSingleStepConditionTest extends ContextTestSupport {
super.setUp();
breakpoint = new BreakpointSupport() {
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
String body = exchange.getIn().getBody(String.class);
logs.add("Single stepping at " + definition.getLabel() + " with body: " + body);
}
};
beerCondition = new ConditionSupport() {
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
return "beer".equals(exchange.getFromRouteId());
}
};
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepTest.java
index 4603d96..ebd6147 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugSingleStepTest.java
@@ -21,11 +21,11 @@ import java.util.List;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.BreakpointSupport;
import org.apache.camel.impl.DefaultDebugger;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Breakpoint;
import org.junit.Before;
import org.junit.Test;
@@ -45,7 +45,7 @@ public class DebugSingleStepTest extends ContextTestSupport {
super.setUp();
breakpoint = new BreakpointSupport() {
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
String body = exchange.getIn().getBody(String.class);
logs.add("Single stepping at " + definition.getLabel() + " with body: " + body);
}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java
index f305181..ce13f37 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DebugTest.java
@@ -22,13 +22,13 @@ import java.util.List;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.BreakpointSupport;
import org.apache.camel.impl.ConditionSupport;
import org.apache.camel.impl.DefaultDebugger;
import org.apache.camel.management.event.ExchangeCompletedEvent;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.spi.Breakpoint;
import org.apache.camel.spi.Condition;
@@ -53,25 +53,25 @@ public class DebugTest extends ContextTestSupport {
super.setUp();
breakpoint = new BreakpointSupport() {
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
String body = exchange.getIn().getBody(String.class);
logs.add("Breakpoint at " + definition + " with body: " + body);
}
- public void onEvent(Exchange exchange, EventObject event, ProcessorDefinition<?> definition) {
+ public void onEvent(Exchange exchange, EventObject event, NamedNode definition) {
String body = exchange.getIn().getBody(String.class);
logs.add("Breakpoint event " + event.getClass().getSimpleName() + " with body: " + body);
}
};
camelCondition = new ConditionSupport() {
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
return body().contains("Camel").matches(exchange);
}
};
mockCondition = new ConditionSupport() {
- public boolean matchProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public boolean matchProcess(Exchange exchange, Processor processor, NamedNode definition) {
// match when sending to mocks
if (definition instanceof ToDefinition) {
ToDefinition to = (ToDefinition) definition;
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java
index f1bf522..5460cc6 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java
@@ -19,9 +19,9 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -56,7 +56,7 @@ public class InterceptorStrategyNotOrderedTest extends ContextTestSupport {
private static class FooInterceptStrategy implements InterceptStrategy {
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, final Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, final Processor target, Processor nextTarget) throws Exception {
Processor answer = new Processor() {
public void process(Exchange exchange) throws Exception {
String order = exchange.getIn().getHeader("order", "", String.class);
@@ -73,7 +73,7 @@ public class InterceptorStrategyNotOrderedTest extends ContextTestSupport {
private static class BarInterceptStrategy implements InterceptStrategy {
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, final Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, final Processor target, Processor nextTarget) throws Exception {
Processor answer = new Processor() {
public void process(Exchange exchange) throws Exception {
String order = exchange.getIn().getHeader("order", "", String.class);
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java
index d581a07..d48a205 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java
@@ -19,10 +19,10 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Ordered;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.junit.Test;
@@ -57,7 +57,7 @@ public class InterceptorStrategyOrderedTest extends ContextTestSupport {
public static class FooInterceptStrategy implements InterceptStrategy, Ordered {
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, final Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, final Processor target, Processor nextTarget) throws Exception {
Processor answer = new Processor() {
public void process(Exchange exchange) throws Exception {
String order = exchange.getIn().getHeader("order", "", String.class);
@@ -77,7 +77,7 @@ public class InterceptorStrategyOrderedTest extends ContextTestSupport {
public static class BarInterceptStrategy implements InterceptStrategy, Ordered {
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, final Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, final Processor target, Processor nextTarget) throws Exception {
Processor answer = new Processor() {
public void process(Exchange exchange) throws Exception {
String order = exchange.getIn().getHeader("order", "", String.class);
diff --git a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/EIPTracingStrategy.java b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/EIPTracingStrategy.java
index d019fea..419e53b 100644
--- a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/EIPTracingStrategy.java
+++ b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/EIPTracingStrategy.java
@@ -21,8 +21,8 @@ import com.amazonaws.xray.AWSXRay;
import com.amazonaws.xray.entities.Subsegment;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
import org.slf4j.Logger;
@@ -36,7 +36,7 @@ public class EIPTracingStrategy implements InterceptStrategy {
@Override
public Processor wrapProcessorInInterceptors(CamelContext camelContext,
- ProcessorDefinition<?> processorDefinition, Processor target, Processor nextTarget)
+ NamedNode processorDefinition, Processor target, Processor nextTarget)
throws Exception {
String defName = processorDefinition.getShortName();
diff --git a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/NoopTracingStrategy.java b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/NoopTracingStrategy.java
index 90f5b9c..060e499 100644
--- a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/NoopTracingStrategy.java
+++ b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/NoopTracingStrategy.java
@@ -17,15 +17,15 @@
package org.apache.camel.component.aws.xray;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
public class NoopTracingStrategy implements InterceptStrategy {
@Override
- public Processor wrapProcessorInInterceptors(CamelContext camelContext, ProcessorDefinition<?> processorDefinition,
+ public Processor wrapProcessorInInterceptors(CamelContext camelContext, NamedNode processorDefinition,
Processor target, Processor nextTarget) throws Exception {
return new DelegateAsyncProcessor(target);
}
diff --git a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/TraceAnnotatedTracingStrategy.java b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/TraceAnnotatedTracingStrategy.java
index 679c394..32538e6 100644
--- a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/TraceAnnotatedTracingStrategy.java
+++ b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/TraceAnnotatedTracingStrategy.java
@@ -22,11 +22,11 @@ import com.amazonaws.xray.AWSXRay;
import com.amazonaws.xray.entities.Subsegment;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.component.bean.BeanProcessor;
import org.apache.camel.model.BeanDefinition;
import org.apache.camel.model.ProcessDefinition;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateAsyncProcessor;
import org.apache.camel.processor.DelegateSyncProcessor;
import org.apache.camel.spi.InterceptStrategy;
@@ -41,8 +41,8 @@ public class TraceAnnotatedTracingStrategy implements InterceptStrategy {
@Override
public Processor wrapProcessorInInterceptors(CamelContext camelContext,
- ProcessorDefinition<?> processorDefinition,
- Processor target, Processor nextTarget)
+ NamedNode processorDefinition,
+ Processor target, Processor nextTarget)
throws Exception {
Class<?> processorClass = processorDefinition.getClass();
diff --git a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java
index 9915778..1f3d3a2 100644
--- a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java
+++ b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java
@@ -37,11 +37,11 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.StaticService;
import org.apache.camel.management.event.ExchangeSendingEvent;
import org.apache.camel.management.event.ExchangeSentEvent;
-import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
@@ -113,7 +113,7 @@ public class XRayTracer extends ServiceSupport implements RoutePolicyFactory, St
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
init(camelContext);
return new XRayRoutePolicy(routeId);
}
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/CdiCamelExtension.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/CdiCamelExtension.java
index 0818242..8830514 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/CdiCamelExtension.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/CdiCamelExtension.java
@@ -453,7 +453,7 @@ public class CdiCamelExtension implements Extension {
if (route instanceof RoutesBuilder) {
context.addRoutes((RoutesBuilder) route);
} else if (route instanceof RouteContainer) {
- context.addRouteDefinitions(((RouteContainer) route).getRoutes());
+ context.adapt(ModelCamelContext.class).addRouteDefinitions(((RouteContainer) route).getRoutes());
} else {
throw new IllegalArgumentException(
"Invalid routes type [" + routeBean.getBeanClass().getName() + "], "
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java
index f65c4be..9fbd0a4 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java
@@ -19,11 +19,13 @@ package org.apache.camel.cdi.transaction;
import javax.annotation.Resource;
import javax.transaction.TransactionManager;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.builder.ErrorHandlerBuilderRef;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.TransactedPolicy;
import org.apache.camel.util.ObjectHelper;
@@ -49,12 +51,12 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
protected TransactionManager transactionManager;
@Override
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// do not inherit since we create our own
// (otherwise the default error handler would be used two times
// because we inherit it on our own but only in case of a
// non-transactional error handler)
- definition.setInheritErrorHandler(false);
+ ((ProcessorDefinition<?>) definition).setInheritErrorHandler(false);
}
public abstract void run(Runnable runnable) throws Throwable;
@@ -74,7 +76,8 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
// we only need one transacted error handler
// find the existing error handler builder
- ErrorHandlerBuilder builder = (ErrorHandlerBuilder) routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerBuilder builder = (ErrorHandlerBuilder) route.getErrorHandlerBuilder();
// check if its a ref if so then do a lookup
if (builder instanceof ErrorHandlerBuilderRef) {
@@ -118,7 +121,7 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
txBuilder.configure(routeContext, answer);
// set the route to use our transacted error handler builder
- routeContext.getRoute().setErrorHandlerBuilder(txBuilder);
+ route.setErrorHandlerBuilder(txBuilder);
// return with wrapped transacted error handler
return answer;
diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
index 4cc043c..fb71bf0 100644
--- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
+++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
@@ -26,6 +26,7 @@ import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriParams;
import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.function.ThrowingHelper;
import org.ehcache.CacheManager;
import org.ehcache.config.CacheConfiguration;
import org.ehcache.config.Configuration;
@@ -235,7 +236,7 @@ public class EhcacheConfiguration implements Cloneable {
}
public boolean hasConfiguration(String name) {
- return ObjectHelper.applyIfNotEmpty(configurations, c -> c.containsKey(name), () -> false);
+ return ThrowingHelper.applyIfNotEmpty(configurations, c -> c.containsKey(name), () -> false);
}
/**
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java
index a4963cd..331b1bd 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java
@@ -33,6 +33,7 @@ import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.component.infinispan.InfinispanConfiguration;
import org.apache.camel.component.infinispan.InfinispanManager;
import org.apache.camel.component.infinispan.InfinispanUtil;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.support.RoutePolicySupport;
import org.apache.camel.support.ServiceSupport;
import org.apache.camel.util.ObjectHelper;
@@ -112,7 +113,8 @@ public class InfinispanRoutePolicy extends RoutePolicySupport implements CamelCo
super.onInit(route);
LOGGER.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
- route.getRouteContext().getRoute().setAutoStartup("false");
+ RouteDefinition definition = (RouteDefinition) route.getRouteContext().getRoute();
+ definition.setAutoStartup("false");
stoppeddRoutes.add(route);
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java
index f9de30a..712d383 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringDifferTest.java
@@ -37,19 +37,19 @@ public class CamelJmxConsumerObserveAttributeMatchStringDifferTest extends Camel
getMockEndpoint("mock:result").message(0).body().contains("<attributeName>Tracing</attributeName>");
// change the attribute so JMX triggers but should be filtered
- ManagedRouteMBean mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ ManagedRouteMBean mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setStatisticsEnabled(true);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(true);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(false);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(true);
assertMockEndpointsSatisfied();
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java
index 2449ef7..b25ba88 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeMatchStringTest.java
@@ -37,19 +37,19 @@ public class CamelJmxConsumerObserveAttributeMatchStringTest extends CamelTestSu
getMockEndpoint("mock:result").message(0).body().contains("<attributeName>Tracing</attributeName>");
// change the attribute so JMX triggers but should be filtered
- ManagedRouteMBean mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ ManagedRouteMBean mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setStatisticsEnabled(true);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(true);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(false);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(true);
assertMockEndpointsSatisfied();
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java
index b922d73..2d39942 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerObserveAttributeTest.java
@@ -37,11 +37,11 @@ public class CamelJmxConsumerObserveAttributeTest extends CamelTestSupport {
getMockEndpoint("mock:result").message(0).body().contains("<attributeName>Tracing</attributeName>");
// change the attribute so JMX triggers but should be filtered
- ManagedRouteMBean mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ ManagedRouteMBean mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setStatisticsEnabled(true);
// change the attribute so JMX triggers
- mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(true);
assertMockEndpointsSatisfied();
diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java
index 252c86d..da283a6 100644
--- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java
+++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/CamelJmxConsumerTest.java
@@ -36,7 +36,7 @@ public class CamelJmxConsumerTest extends CamelTestSupport {
getMockEndpoint("mock:result").message(0).body().contains("<newValue>true</newValue>");
// change the attribute so JMX triggers
- ManagedRouteMBean mr = context.getManagedRoute("foo", ManagedRouteMBean.class);
+ ManagedRouteMBean mr = context.adapt(ManagedCamelContext.class).getManagedRoute("foo", ManagedRouteMBean.class);
mr.setTracing(true);
assertMockEndpointsSatisfied();
diff --git a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
index d4ad80d..56a199e 100644
--- a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
+++ b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicyFactory.java
@@ -20,7 +20,7 @@ import java.util.concurrent.TimeUnit;
import com.codahale.metrics.MetricRegistry;
import org.apache.camel.CamelContext;
-import org.apache.camel.model.RouteDefinition;
+import org.apache.camel.NamedNode;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
@@ -105,7 +105,7 @@ public class MetricsRoutePolicyFactory implements RoutePolicyFactory {
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition routeDefinition) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
MetricsRoutePolicy answer = new MetricsRoutePolicy();
answer.setMetricsRegistry(getMetricsRegistry());
answer.setUseJmx(isUseJmx());
diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
index ae3cb4e..646f1c7 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.micrometer.routepolicy;
import java.util.concurrent.TimeUnit;
import io.micrometer.core.instrument.MeterRegistry;
import org.apache.camel.CamelContext;
-import org.apache.camel.model.RouteDefinition;
+import org.apache.camel.NamedNode;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
@@ -80,7 +80,7 @@ public class MicrometerRoutePolicyFactory implements RoutePolicyFactory {
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition routeDefinition) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode routeDefinition) {
MicrometerRoutePolicy answer = new MicrometerRoutePolicy();
answer.setMeterRegistry(getMeterRegistry());
answer.setPrettyPrint(isPrettyPrint());
diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
index 3706377..9c1454c 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
@@ -34,6 +34,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.StaticService;
import org.apache.camel.api.management.ManagedResource;
@@ -96,7 +97,7 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
// ensure this opentracing tracer gets initialized when Camel starts
init(camelContext);
return new OpenTracingRoutePolicy(routeId);
diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/SpanDecorator.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/SpanDecorator.java
index e94e318..cb14eb7 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/SpanDecorator.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/SpanDecorator.java
@@ -107,8 +107,8 @@ public interface SpanDecorator {
* This method returns the map to be used for headers extraction
* when the component is receiving a communication.
*
- * @param a map containing the objects
- * @param whether the headers are encoded
+ * @param map a map containing the objects
+ * @param encoding whether the headers are encoded
* @return The extraction map
*/
TextMap getExtractAdapter(Map<String, Object> map, boolean encoding);
@@ -117,8 +117,8 @@ public interface SpanDecorator {
* This method returns the map to be used for headers injection
* when the component is receiving a communication.
*
- * @param a map containing the objects
- * @param whether the headers are encoded
+ * @param map a map containing the objects
+ * @param encoding whether the headers are encoded
* @return The injection map
*/
TextMap getInjectAdapter(Map<String, Object> map, boolean encoding);
diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzNameCollisionTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzNameCollisionTest.java
index 7444b2b..d260a57 100644
--- a/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzNameCollisionTest.java
+++ b/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzNameCollisionTest.java
@@ -167,7 +167,7 @@ public class QuartzNameCollisionTest {
Trigger trigger = scheduler.getTrigger(triggerKey);
Assert.assertNotNull(trigger);
- camel1.stopRoute("route-1");
+ camel1.getRouteController().stopRoute("route-1");
Trigger.TriggerState triggerState = component.getScheduler().getTriggerState(triggerKey);
Assert.assertNotNull(trigger);
diff --git a/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java b/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
index 284a73d..3bfde0f 100644
--- a/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
+++ b/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.shiro.security;
import java.util.ArrayList;
import java.util.List;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.AuthorizationPolicy;
import org.apache.camel.spi.RouteContext;
import org.apache.shiro.SecurityUtils;
@@ -104,7 +104,7 @@ public class ShiroSecurityPolicy implements AuthorizationPolicy {
this.setPermissionsList(permissionsList);
}
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
// noop
}
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/actuate/endpoint/CamelRoutesEndpoint.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/actuate/endpoint/CamelRoutesEndpoint.java
index d20e53c..8f08d3b 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/actuate/endpoint/CamelRoutesEndpoint.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/actuate/endpoint/CamelRoutesEndpoint.java
@@ -33,6 +33,7 @@ import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.StatefulService;
import org.apache.camel.api.management.mbean.ManagedRouteMBean;
+import org.apache.camel.management.ManagedCamelContext;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
@@ -160,7 +161,7 @@ public class CamelRoutesEndpoint {
private void resetRoute(String id) {
try {
- ManagedRouteMBean managedRouteMBean = camelContext.getManagedRoute(id, ManagedRouteMBean.class);
+ ManagedRouteMBean managedRouteMBean = camelContext.adapt(ManagedCamelContext.class).getManagedRoute(id, ManagedRouteMBean.class);
if (managedRouteMBean != null) {
managedRouteMBean.reset(true);
}
@@ -284,7 +285,7 @@ public class CamelRoutesEndpoint {
super(route);
if (camelContext.getManagementStrategy().getManagementAgent() != null) {
- this.routeDetails = new RouteDetails(camelContext.getManagedRoute(route.getId(), ManagedRouteMBean.class));
+ this.routeDetails = new RouteDetails(camelContext.adapt(ManagedCamelContext.class).getManagedRoute(route.getId(), ManagedRouteMBean.class));
}
}
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/model/RouteDetailsInfo.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/model/RouteDetailsInfo.java
index 9f668c0..a7a51fe 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/model/RouteDetailsInfo.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/model/RouteDetailsInfo.java
@@ -35,7 +35,7 @@ public class RouteDetailsInfo extends RouteInfo {
super(route);
if (camelContext.getManagementStrategy().getManagementAgent() != null) {
- this.routeDetails = new RouteDetails(camelContext.getManagedRoute(route.getId(), ManagedRouteMBean.class));
+ this.routeDetails = new RouteDetails(camelContext.adapt(ManagedCamelContext.class).getManagedRoute(route.getId(), ManagedRouteMBean.class));
}
}
diff --git a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
index 20cd09f..81c1f97 100644
--- a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
+++ b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
@@ -23,9 +23,9 @@ import javax.security.auth.Subject;
import org.apache.camel.CamelAuthorizationException;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.model.IdentifiedType;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DelegateProcessor;
import org.apache.camel.spi.AuthorizationPolicy;
import org.apache.camel.spi.RouteContext;
@@ -55,7 +55,7 @@ public class SpringSecurityAuthorizationPolicy extends IdentifiedType implements
private boolean alwaysReauthenticate;
private boolean useThreadSecurityContext = true;
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
}
public Processor wrap(RouteContext routeContext, Processor processor) {
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
index a776c68..1fe5815 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
@@ -16,10 +16,11 @@
*/
package org.apache.camel.spring.spi;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.builder.ErrorHandlerBuilderRef;
-import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.TransactedPolicy;
import org.apache.camel.util.ObjectHelper;
@@ -53,7 +54,7 @@ public class SpringTransactionPolicy implements TransactedPolicy {
this.transactionManager = transactionManager;
}
- public void beforeWrap(RouteContext routeContext, ProcessorDefinition<?> definition) {
+ public void beforeWrap(RouteContext routeContext, NamedNode definition) {
}
public Processor wrap(RouteContext routeContext, Processor processor) {
@@ -66,7 +67,8 @@ public class SpringTransactionPolicy implements TransactedPolicy {
// if we should not support this we do not need to wrap the processor as we only need one transacted error handler
// find the existing error handler builder
- ErrorHandlerBuilder builder = (ErrorHandlerBuilder)routeContext.getRoute().getErrorHandlerBuilder();
+ RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ ErrorHandlerBuilder builder = (ErrorHandlerBuilder) route.getErrorHandlerBuilder();
// check if its a ref if so then do a lookup
if (builder instanceof ErrorHandlerBuilderRef) {
@@ -111,7 +113,7 @@ public class SpringTransactionPolicy implements TransactedPolicy {
txBuilder.configure(routeContext, answer);
// set the route to use our transacted error handler builder
- routeContext.getRoute().setErrorHandlerBuilder(txBuilder);
+ route.setErrorHandlerBuilder(txBuilder);
}
// return with wrapped transacted error handler
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/CamelLoadRoutesFromXMLTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/CamelLoadRoutesFromXMLTest.java
index 702b378..d91d1f6 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/CamelLoadRoutesFromXMLTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/CamelLoadRoutesFromXMLTest.java
@@ -45,8 +45,8 @@ public class CamelLoadRoutesFromXMLTest extends SpringTestSupport {
assertEquals(2, camel.getRoutes().size());
// they should be started
- assertTrue(camel.getRouteStatus("foo").isStarted());
- assertTrue(camel.getRouteStatus("bar").isStarted());
+ assertTrue(camel.getRouteController().getRouteStatus("foo").isStarted());
+ assertTrue(camel.getRouteController().getRouteStatus("bar").isStarted());
// and they should work
MockEndpoint foo = camel.getEndpoint("mock:foo", MockEndpoint.class);
@@ -65,14 +65,14 @@ public class CamelLoadRoutesFromXMLTest extends SpringTestSupport {
camel.removeRouteDefinitions(routes.getRoutes());
// they should be removed
- assertNull(camel.getRouteStatus("foo"));
- assertNull(camel.getRouteStatus("bar"));
+ assertNull(camel.getRouteController().getRouteStatus("foo"));
+ assertNull(camel.getRouteController().getRouteStatus("bar"));
// you can also do this manually via their route ids
- //camel.stopRoute("foo");
- //camel.removeRoute("foo");
- //camel.stopRoute("bar");
- //camel.removeRoute("bar");
+ //camel.getRouteController().stopRoute("foo");
+ //camel.getRouteController().removeRoute("foo");
+ //camel.getRouteController().stopRoute("bar");
+ //camel.getRouteController().removeRoute("bar");
// load updated xml
is = this.getClass().getResourceAsStream("myUpdatedRoutes.xml");
@@ -82,8 +82,8 @@ public class CamelLoadRoutesFromXMLTest extends SpringTestSupport {
assertEquals(2, camel.getRoutes().size());
// they should be started
- assertTrue(camel.getRouteStatus("foo").isStarted());
- assertTrue(camel.getRouteStatus("bar").isStarted());
+ assertTrue(camel.getRouteController().getRouteStatus("foo").isStarted());
+ assertTrue(camel.getRouteController().getRouteStatus("bar").isStarted());
// and they should work again (need to get new mock endpoint as the old is gone)
foo = camel.getEndpoint("mock:foo", MockEndpoint.class);
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextAutoStartupTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextAutoStartupTest.java
index 19bdb04..c3847bf 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextAutoStartupTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextAutoStartupTest.java
@@ -42,14 +42,14 @@ public class CamelContextAutoStartupTest extends Assert {
assertEquals(Boolean.FALSE, camel.isAutoStartup());
assertEquals(1, camel.getRoutes().size());
- assertEquals(false, camel.getRouteStatus("foo").isStarted());
+ assertEquals(false, camel.getRouteController().getRouteStatus("foo").isStarted());
// now starting route manually
camel.startRoute("foo");
assertEquals(Boolean.FALSE, camel.isAutoStartup());
assertEquals(1, camel.getRoutes().size());
- assertEquals(true, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStarted());
// and now we can send a message to the route and see that it works
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteAutoStartupPropertiesTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteAutoStartupPropertiesTest.java
index 8b0a34b..6a675ce 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteAutoStartupPropertiesTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/config/RouteAutoStartupPropertiesTest.java
@@ -38,11 +38,11 @@ public class RouteAutoStartupPropertiesTest extends Assert {
SpringCamelContext camel = ac.getBeansOfType(SpringCamelContext.class).values().iterator().next();
- assertEquals(false, camel.getRouteStatus("foo").isStarted());
+ assertEquals(false, camel.getRouteController().getRouteStatus("foo").isStarted());
// now starting route manually
camel.startRoute("foo");
- assertEquals(true, camel.getRouteStatus("foo").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("foo").isStarted());
// and now we can send a message to the route and see that it works
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
@@ -62,7 +62,7 @@ public class RouteAutoStartupPropertiesTest extends Assert {
SpringCamelContext camel = ac.getBeansOfType(SpringCamelContext.class).values().iterator().next();
- assertEquals(true, camel.getRouteStatus("bar").isStarted());
+ assertEquals(true, camel.getRouteController().getRouteStatus("bar").isStarted());
// and now we can send a message to the route and see that it works
MockEndpoint mock = camel.getEndpoint("mock:result", MockEndpoint.class);
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/ContainerWideInterceptor.java b/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/ContainerWideInterceptor.java
index 664c8d9..ed0c963 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/ContainerWideInterceptor.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/interceptor/ContainerWideInterceptor.java
@@ -18,8 +18,8 @@ package org.apache.camel.spring.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,7 +33,7 @@ public class ContainerWideInterceptor implements InterceptStrategy {
private static final Logger LOG = LoggerFactory.getLogger(ContainerWideInterceptor.class);
private static int count;
- public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition<?> definition,
+ public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
final Processor target, final Processor nextTarget) throws Exception {
// as this is based on an unit test we are a bit lazy and just create an inlined processor
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/RouteCoverageDumper.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/RouteCoverageDumper.java
index 8aefbff..b4ba2fb 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/RouteCoverageDumper.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/RouteCoverageDumper.java
@@ -24,6 +24,7 @@ import java.io.OutputStream;
import org.apache.camel.CamelContext;
import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
+import org.apache.camel.management.ManagedCamelContext;
import org.apache.camel.util.IOHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -43,7 +44,7 @@ public final class RouteCoverageDumper {
String dir = "target/camel-route-coverage";
String name = testClassName + "-" + testName + ".xml";
- ManagedCamelContextMBean managedCamelContext = context.getManagedCamelContext();
+ ManagedCamelContextMBean managedCamelContext = context.adapt(ManagedCamelContext.class).getManagedCamelContext();
if (managedCamelContext == null) {
LOG.warn("Cannot dump route coverage to file as JMX is not enabled. Override useJmx() method to enable JMX in the unit test classes.");
} else {
diff --git a/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointTest.java b/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointTest.java
index 5bd8bc3..e57f74a 100644
--- a/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointTest.java
+++ b/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointTest.java
@@ -17,9 +17,9 @@
package org.apache.camel.test.spring;
import org.apache.camel.Exchange;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.impl.BreakpointSupport;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Breakpoint;
import org.junit.Test;
@@ -56,7 +56,7 @@ public class CamelSpringRunnerProvidesBreakpointTest
private boolean breakpointHit;
@Override
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
breakpointHit = true;
}
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
index 293f666..581a7c6 100644
--- a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
+++ b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
@@ -52,6 +52,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.Message;
+import org.apache.camel.NamedNode;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
@@ -74,8 +75,10 @@ import org.apache.camel.impl.DefaultDebugger;
import org.apache.camel.impl.InterceptSendToMockEndpointStrategy;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.management.JmxSystemPropertyKeys;
+import org.apache.camel.management.ManagedCamelContext;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.Language;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.StopWatch;
@@ -429,7 +432,7 @@ public abstract class CamelTestSupport extends TestSupport {
String dir = "target/camel-route-coverage";
String name = className + "-" + getTestMethodName() + ".xml";
- ManagedCamelContextMBean managedCamelContext = context != null ? context.getManagedCamelContext() : null;
+ ManagedCamelContextMBean managedCamelContext = context != null ? context.adapt(ManagedCamelContext.class).getManagedCamelContext() : null;
if (managedCamelContext == null) {
log.warn("Cannot dump route coverage to file as JMX is not enabled. Override useJmx() method to enable JMX in the unit test classes.");
} else {
@@ -525,7 +528,7 @@ public abstract class CamelTestSupport extends TestSupport {
// log processor coverage for each route
for (Route route : context.getRoutes()) {
- ManagedRouteMBean managedRoute = context.getManagedRoute(route.getId(), ManagedRouteMBean.class);
+ ManagedRouteMBean managedRoute = context.adapt(ManagedCamelContext.class).getManagedRoute(route.getId(), ManagedRouteMBean.class);
if (managedRoute.getExchangesTotal() == 0) {
uncoveredRoutes.add(route.getId());
}
@@ -577,7 +580,7 @@ public abstract class CamelTestSupport extends TestSupport {
String name = objectName.getKeyProperty("name");
name = ObjectName.unquote(name);
- ManagedProcessorMBean managedProcessor = context.getManagedProcessor(name, ManagedProcessorMBean.class);
+ ManagedProcessorMBean managedProcessor = context.adapt(ManagedCamelContext.class).getManagedProcessor(name, ManagedProcessorMBean.class);
if (managedProcessor != null) {
if (processorsForRoute.get(routeId) == null) {
@@ -1022,13 +1025,13 @@ public abstract class CamelTestSupport extends TestSupport {
private class DebugBreakpoint extends BreakpointSupport {
@Override
- public void beforeProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition) {
- CamelTestSupport.this.debugBefore(exchange, processor, definition, definition.getId(), definition.getLabel());
+ public void beforeProcess(Exchange exchange, Processor processor, NamedNode definition) {
+ CamelTestSupport.this.debugBefore(exchange, processor, (RouteDefinition) definition, definition.getId(), definition.getLabel());
}
@Override
- public void afterProcess(Exchange exchange, Processor processor, ProcessorDefinition<?> definition, long timeTaken) {
- CamelTestSupport.this.debugAfter(exchange, processor, definition, definition.getId(), definition.getLabel(), timeTaken);
+ public void afterProcess(Exchange exchange, Processor processor, NamedNode definition, long timeTaken) {
+ CamelTestSupport.this.debugAfter(exchange, processor, (RouteDefinition) definition, definition.getId(), definition.getLabel(), timeTaken);
}
}
diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
index 7d995f8..abad90e 100644
--- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
+++ b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
@@ -40,6 +40,7 @@ import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
+import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.StaticService;
import org.apache.camel.api.management.ManagedAttribute;
@@ -51,7 +52,6 @@ import org.apache.camel.management.event.ExchangeCreatedEvent;
import org.apache.camel.management.event.ExchangeFailedEvent;
import org.apache.camel.management.event.ExchangeSendingEvent;
import org.apache.camel.management.event.ExchangeSentEvent;
-import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
import org.apache.camel.support.EventNotifierSupport;
@@ -152,7 +152,7 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
}
@Override
- public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, RouteDefinition route) {
+ public RoutePolicy createRoutePolicy(CamelContext camelContext, String routeId, NamedNode route) {
// ensure this zipkin tracer gets initialized when Camel starts
init(camelContext);
return new ZipkinRoutePolicy();
diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java
index ef9f9e2..9b50624 100644
--- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java
+++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java
@@ -24,6 +24,7 @@ import java.util.concurrent.locks.ReentrantLock;
import org.apache.camel.NonManagedService;
import org.apache.camel.Route;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.support.RoutePolicySupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -77,7 +78,8 @@ public class CuratorLeaderRoutePolicy extends RoutePolicySupport implements Elec
public void onInit(Route route) {
ensureElectionIsCreated(route);
LOG.info("Route managed by {}. Setting route {} AutoStartup flag to false.", this.getClass(), route.getId());
- route.getRouteContext().getRoute().setAutoStartup("false");
+ RouteDefinition definition = (RouteDefinition) route.getRouteContext().getRoute();
+ definition.setAutoStartup("false");
ensureElectionIsCreated(route);
if (election.isMaster()) {
diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java
index cfacc45..ceb24cf 100644
--- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java
+++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java
@@ -25,6 +25,7 @@ import java.util.concurrent.locks.ReentrantLock;
import org.apache.camel.NonManagedService;
import org.apache.camel.Route;
import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.support.RoutePolicySupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,7 +80,8 @@ public class CuratorMultiMasterLeaderRoutePolicy extends RoutePolicySupport impl
public void onInit(Route route) {
ensureElectionIsCreated();
LOG.info("Route managed by {}. Setting route [{}] AutoStartup flag to false.", this.getClass(), route.getId());
- route.getRouteContext().getRoute().setAutoStartup("false");
+ RouteDefinition definition = (RouteDefinition) route.getRouteContext().getRoute();
+ definition.setAutoStartup("false");
if (election.isMaster()) {
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
index fb7cbde..58b746a 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
@@ -38,6 +38,7 @@ import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.StatefulService;
import org.apache.camel.api.management.mbean.ManagedRouteMBean;
+import org.apache.camel.management.ManagedCamelContext;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
@@ -277,7 +278,7 @@ public abstract class AbstractLocalCamelController extends AbstractCamelControll
row.put("routeId", route.getId());
row.put("state", getRouteState(route));
row.put("uptime", route.getUptime());
- ManagedRouteMBean mr = context.getManagedRoute(route.getId(), ManagedRouteMBean.class);
+ ManagedRouteMBean mr = context.adapt(ManagedCamelContext.class).getManagedRoute(route.getId(), ManagedRouteMBean.class);
if (mr != null) {
row.put("exchangesTotal", "" + mr.getExchangesTotal());
row.put("exchangesInflight", "" + mr.getExchangesInflight());
diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/internal/CamelControllerImpl.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/internal/CamelControllerImpl.java
index adf0f81..0c6bd1f 100644
--- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/internal/CamelControllerImpl.java
+++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/internal/CamelControllerImpl.java
@@ -86,10 +86,10 @@ public class CamelControllerImpl extends AbstractLocalCamelController {
row.put("name", camelContext.getName());
row.put("state", camelContext.getStatus().name());
row.put("uptime", camelContext.getUptime());
- if (camelContext.getManagedCamelContext() != null) {
- row.put("exchangesTotal", "" + camelContext.getManagedCamelContext().getExchangesTotal());
- row.put("exchangesInflight", "" + camelContext.getManagedCamelContext().getExchangesInflight());
- row.put("exchangesFailed", "" + camelContext.getManagedCamelContext().getExchangesFailed());
+ if (camelContext.adapt(ManagedCamelContext.class).getManagedCamelContext() != null) {
+ row.put("exchangesTotal", "" + camelContext.adapt(ManagedCamelContext.class).getManagedCamelContext().getExchangesTotal());
+ row.put("exchangesInflight", "" + camelContext.adapt(ManagedCamelContext.class).getManagedCamelContext().getExchangesInflight());
+ row.put("exchangesFailed", "" + camelContext.adapt(ManagedCamelContext.class).getManagedCamelContext().getExchangesFailed());
} else {
row.put("exchangesTotal", "0");
row.put("exchangesInflight", "0");
diff --git a/platforms/spring-boot/components-starter/camel-hystrix-starter/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigurationTest.java b/platforms/spring-boot/components-starter/camel-hystrix-starter/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigurationTest.java
index 948b6f7..0d8145d 100644
--- a/platforms/spring-boot/components-starter/camel-hystrix-starter/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigurationTest.java
+++ b/platforms/spring-boot/components-starter/camel-hystrix-starter/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigurationTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.hystrix.processor;
import org.apache.camel.CamelContext;
import org.apache.camel.model.HystrixConfigurationDefinition;
import org.apache.camel.model.HystrixDefinition;
+import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.RouteDefinition;
import org.junit.Assert;
import org.junit.Test;
@@ -50,7 +51,7 @@ public class HystrixHierarchicalConfigurationTest {
@Test
public void testConfiguration() throws Exception {
- RouteDefinition routeDefinition = camelContext.getRouteDefinition("hystrix-route");
+ RouteDefinition routeDefinition = camelContext.adapt(ModelCamelContext.class).getRouteDefinition("hystrix-route");
HystrixDefinition hystrixDefinition = findHystrixDefinition(routeDefinition);
Assert.assertNotNull(hystrixDefinition);
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/DummyInterceptor.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/DummyInterceptor.java
index df15e01..60354fc 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/DummyInterceptor.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/DummyInterceptor.java
@@ -17,14 +17,14 @@
package org.apache.camel.itest.issues;
import org.apache.camel.CamelContext;
+import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
-import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.InterceptStrategy;
public class DummyInterceptor implements InterceptStrategy {
// Just simply return the target processor
- public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition, Processor target, Processor nextTarget) throws Exception {
+ public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
return target;
}
}