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 07:55:43 UTC
[camel] 29/43: Move stuff around to isolate o.a.c.util from o.a.c
and o.a.c.support from o.a.c.impl
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit d0dbf9c44b5fff0e814ab7759be4c4c106e26e83
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Oct 3 10:38:46 2018 +0200
Move stuff around to isolate o.a.c.util from o.a.c and o.a.c.support from o.a.c.impl
---
.../src/main/java/__name__Component.java | 2 +-
.../src/main/java/__name__Consumer.java | 2 +-
.../src/main/java/__name__Endpoint.java | 6 +-
.../src/main/java/__name__Producer.java | 2 +-
.../java/internal/__name__PropertiesHelper.java | 2 +-
.../src/test/java/Abstract__name__TestSupport.java | 2 +-
camel-core/src/main/docs/eips/aggregate-eip.adoc | 2 +-
.../main/java/org/apache/camel/AsyncProcessor.java | 2 +-
.../main/java/org/apache/camel/CamelContext.java | 6 +-
.../java/org/apache/camel/CamelContextAware.java | 13 +-
.../org/apache/camel/CamelExecutionException.java | 16 +
.../src/main/java/org/apache/camel/Component.java | 12 +
.../src/main/java/org/apache/camel/Exchange.java | 2 +-
.../apache/camel/FailedToCreateRouteException.java | 9 +-
.../org/apache/camel/LoadPropertiesException.java | 36 +
.../src/main/java/org/apache/camel/Message.java | 4 +-
.../org/apache/camel/NoSuchHeaderException.java | 2 +-
.../org/apache/camel/NoSuchPropertyException.java | 3 +-
.../camel/PollingConsumerPollingStrategy.java | 2 +-
.../src/main/java/org/apache/camel/Rejectable.java | 29 -
.../org/apache/camel/RuntimeCamelException.java | 16 +
.../apache/camel/SSLContextParametersAware.java | 2 +-
.../org/apache/camel/ThreadPoolRejectedPolicy.java | 101 --
.../main/java/org/apache/camel/ValueHolder.java | 55 +
.../camel/api/management/PerformanceCounter.java | 66 --
.../camel/builder/AdviceWithRouteBuilder.java | 17 +-
.../org/apache/camel/builder/AdviceWithTasks.java | 2 +-
.../camel/builder/AggregationStrategies.java | 152 +++
.../org/apache/camel/builder/BuilderSupport.java | 3 +-
.../org/apache/camel/builder/DataFormatClause.java | 2 +-
.../camel/builder/DeadLetterChannelBuilder.java | 2 +-
.../camel/builder/DefaultErrorHandlerBuilder.java | 4 +-
.../builder/DefaultFluentProducerTemplate.java | 4 +-
.../org/apache/camel/builder/ExchangeBuilder.java | 2 +-
.../apache/camel/builder/ExpressionBuilder.java | 44 +-
.../camel/builder/FlexibleAggregationStrategy.java | 437 ++++++++
.../org/apache/camel/builder/NotifyBuilder.java | 25 +-
.../org/apache/camel/builder/PredicateBuilder.java | 4 +-
.../org/apache/camel/builder/SimpleBuilder.java | 8 +-
.../apache/camel/builder/ThreadPoolBuilder.java | 2 +-
.../camel/builder/ThreadPoolProfileBuilder.java | 2 +-
.../org/apache/camel/builder/ValueBuilder.java | 2 +-
.../camel/builder/XsltAggregationStrategy.java | 251 +++++
.../builder/xml/FileResultHandlerFactory.java | 2 +-
.../org/apache/camel/builder/xml/XPathBuilder.java | 11 +-
.../org/apache/camel/builder/xml/XsltBuilder.java | 2 +-
.../apache/camel/builder/xml/XsltUriResolver.java | 2 +-
.../apache/camel/component/ResourceEndpoint.java | 4 +-
.../component/bean/AbstractBeanProcessor.java | 4 +-
.../bean/AbstractCamelInvocationHandler.java | 2 +-
.../bean/BeanAnnotationExpressionFactory.java | 4 +-
.../apache/camel/component/bean/BeanComponent.java | 10 +-
.../apache/camel/component/bean/BeanEndpoint.java | 2 +-
.../org/apache/camel/component/bean/BeanInfo.java | 30 +-
.../camel/component/bean/BeanInvocation.java | 5 +-
.../apache/camel/component/bean/BeanProducer.java | 4 +-
.../camel/component/bean/ConstantBeanHolder.java | 2 +-
.../bean/DefaultAnnotationExpressionFactory.java | 4 +-
.../apache/camel/component/bean/MethodInfo.java | 37 +-
.../camel/component/bean/MethodInfoCache.java | 2 +-
.../camel/component/bean/PojoProxyHelper.java | 2 +-
.../camel/component/beanclass/ClassComponent.java | 2 +-
.../camel/component/browse/BrowseComponent.java | 2 +-
.../camel/component/browse/BrowseEndpoint.java | 4 +-
.../component/controlbus/ControlBusComponent.java | 2 +-
.../component/controlbus/ControlBusEndpoint.java | 4 +-
.../component/controlbus/ControlBusProducer.java | 6 +-
.../component/dataformat/DataFormatComponent.java | 4 +-
.../component/dataformat/DataFormatEndpoint.java | 6 +-
.../camel/component/dataset/DataSetComponent.java | 4 +-
.../camel/component/dataset/DataSetConsumer.java | 4 +-
.../camel/component/dataset/DataSetEndpoint.java | 4 +-
.../camel/component/direct/DirectComponent.java | 4 +-
.../camel/component/direct/DirectConsumer.java | 2 +-
.../camel/component/direct/DirectEndpoint.java | 2 +-
.../camel/component/direct/DirectProducer.java | 4 +-
.../directvm/DirectVmBlockingProducer.java | 4 +-
.../component/directvm/DirectVmComponent.java | 2 +-
.../camel/component/directvm/DirectVmConsumer.java | 2 +-
.../camel/component/directvm/DirectVmEndpoint.java | 2 +-
.../component/directvm/DirectVmProcessor.java | 4 +-
.../camel/component/directvm/DirectVmProducer.java | 2 +-
.../extension/ComponentVerifierExtension.java | 18 +-
.../DefaultComponentVerifierExtension.java | 6 +-
.../apache/camel/component/file/GenericFile.java | 3 +-
.../camel/component/file/GenericFileComponent.java | 6 +-
.../camel/component/file/GenericFileConsumer.java | 10 +-
.../component/file/GenericFileDefaultSorter.java | 2 +-
.../camel/component/file/GenericFileEndpoint.java | 13 +-
.../camel/component/file/GenericFileMessage.java | 2 +-
.../component/file/GenericFilePollingConsumer.java | 12 +-
.../camel/component/file/GenericFileProducer.java | 8 +-
.../FileChangedExclusiveReadLockStrategy.java | 2 +-
...dempotentChangedRepositoryReadLockStrategy.java | 4 +-
...IdempotentRenameRepositoryReadLockStrategy.java | 4 +-
.../FileIdempotentRepositoryReadLockStrategy.java | 4 +-
.../FileLockExclusiveReadLockStrategy.java | 2 +-
.../strategy/GenericFileDeleteProcessStrategy.java | 2 +-
.../GenericFileProcessStrategySupport.java | 4 +-
...GenericFileRenameExclusiveReadLockStrategy.java | 2 +-
.../strategy/GenericFileRenameProcessStrategy.java | 2 +-
.../component/language/LanguageComponent.java | 4 +-
.../camel/component/language/LanguageEndpoint.java | 2 +-
.../camel/component/language/LanguageProducer.java | 6 +-
.../apache/camel/component/log/LogComponent.java | 5 +-
.../apache/camel/component/log/LogEndpoint.java | 6 +-
.../apache/camel/component/log/LogProducer.java | 4 +-
.../camel/component/mock/AssertionClause.java | 2 +-
.../apache/camel/component/mock/MockComponent.java | 4 +-
.../apache/camel/component/mock/MockEndpoint.java | 12 +-
.../java/org/apache/camel/component/mock/Time.java | 50 +
.../apache/camel/component/mock/TimeClause.java | 1 -
.../component/properties/PropertiesComponent.java | 6 +-
.../component/properties/PropertiesEndpoint.java | 2 +-
.../apache/camel/component/ref/RefComponent.java | 2 +-
.../apache/camel/component/ref/RefEndpoint.java | 4 +-
.../camel/component/rest/RestApiComponent.java | 2 +-
.../camel/component/rest/RestApiEndpoint.java | 2 +-
.../camel/component/rest/RestApiProducer.java | 4 +-
.../apache/camel/component/rest/RestComponent.java | 6 +-
.../apache/camel/component/rest/RestEndpoint.java | 4 +-
.../apache/camel/component/rest/RestProducer.java | 10 +-
.../rest/RestProducerBindingProcessor.java | 4 +-
.../apache/camel/component/saga/SagaComponent.java | 2 +-
.../apache/camel/component/saga/SagaEndpoint.java | 2 +-
.../apache/camel/component/saga/SagaProducer.java | 4 +-
.../component/scheduler/SchedulerComponent.java | 2 +-
.../component/scheduler/SchedulerConsumer.java | 2 +-
.../component/scheduler/SchedulerEndpoint.java | 2 +-
.../apache/camel/component/seda/SedaComponent.java | 2 +-
.../apache/camel/component/seda/SedaConsumer.java | 8 +-
.../apache/camel/component/seda/SedaEndpoint.java | 6 +-
.../camel/component/seda/SedaPollingConsumer.java | 8 +-
.../apache/camel/component/seda/SedaProducer.java | 4 +-
.../apache/camel/component/test/TestComponent.java | 4 +-
.../apache/camel/component/test/TestEndpoint.java | 8 +-
.../camel/component/timer/TimerComponent.java | 2 +-
.../camel/component/timer/TimerConsumer.java | 4 +-
.../camel/component/timer/TimerEndpoint.java | 2 +-
.../validator/DefaultLSResourceResolver.java | 5 +-
.../component/validator/ValidatorComponent.java | 2 +-
.../component/validator/ValidatorEndpoint.java | 2 +-
.../component/validator/ValidatorProducer.java | 4 +-
.../org/apache/camel/component/vm/VmConsumer.java | 2 +-
.../apache/camel/component/xslt/XsltComponent.java | 8 +-
.../apache/camel/component/xslt/XsltEndpoint.java | 8 +-
.../org/apache/camel/converter/IOConverter.java | 18 +-
.../apache/camel/converter/ObjectConverter.java | 11 +-
.../camel/converter/ObjectConverterOptimised.java | 2 +-
.../apache/camel/converter/jaxp/DomConverter.java | 12 +-
.../apache/camel/converter/jaxp/StaxConverter.java | 15 +-
.../apache/camel/converter/jaxp/XmlConverter.java | 5 +-
.../converter/stream/OutputStreamBuilder.java | 2 +-
.../apache/camel/impl/AbstractDynamicRegistry.java | 199 ++++
.../apache/camel/impl/BaseSelectorProducer.java | 1 +
.../impl/BridgeExceptionHandlerToErrorHandler.java | 87 --
.../camel/impl/CamelPostProcessorHelper.java | 23 +-
.../org/apache/camel/impl/CompoundIterator.java | 64 ++
.../java/org/apache/camel/impl/ConsumerCache.java | 6 +-
.../impl/DefaultAsyncProcessorAwaitManager.java | 8 +-
.../apache/camel/impl/DefaultAsyncProducer.java | 38 -
.../org/apache/camel/impl/DefaultAttachment.java | 125 ---
.../camel/impl/DefaultCamelBeanPostProcessor.java | 7 +-
.../org/apache/camel/impl/DefaultCamelContext.java | 35 +-
.../org/apache/camel/impl/DefaultComponent.java | 503 ---------
.../camel/impl/DefaultComponentResolver.java | 2 +-
.../org/apache/camel/impl/DefaultConsumer.java | 164 ---
.../apache/camel/impl/DefaultConsumerTemplate.java | 10 +-
.../camel/impl/DefaultDataFormatResolver.java | 2 +-
.../org/apache/camel/impl/DefaultDebugger.java | 2 +-
.../org/apache/camel/impl/DefaultEndpoint.java | 482 ---------
.../apache/camel/impl/DefaultEndpointRegistry.java | 167 +--
.../impl/DefaultEndpointUtilizationStatistics.java | 2 +-
.../org/apache/camel/impl/DefaultExchange.java | 557 ----------
.../camel/impl/DefaultExecutorServiceManager.java | 2 +-
.../org/apache/camel/impl/DefaultInjector.java | 23 +-
.../apache/camel/impl/DefaultLanguageResolver.java | 2 +-
.../java/org/apache/camel/impl/DefaultMessage.java | 401 -------
.../impl/DefaultPackageScanClassResolver.java | 2 +-
.../impl/DefaultPollingConsumerPollStrategy.java | 45 -
.../apache/camel/impl/DefaultPollingEndpoint.java | 40 -
.../org/apache/camel/impl/DefaultProducer.java | 79 --
.../apache/camel/impl/DefaultProducerTemplate.java | 6 +-
.../org/apache/camel/impl/DefaultRestRegistry.java | 5 +-
.../org/apache/camel/impl/DefaultRouteContext.java | 10 +-
.../camel/impl/DefaultRuntimeEndpointRegistry.java | 4 +-
.../camel/impl/DefaultScheduledPollConsumer.java | 107 --
.../DefaultScheduledPollConsumerScheduler.java | 197 ----
.../apache/camel/impl/DefaultShutdownStrategy.java | 9 +-
.../camel/impl/DefaultTransformerRegistry.java | 171 +--
.../org/apache/camel/impl/DefaultUnitOfWork.java | 6 +-
.../camel/impl/DefaultValidatorRegistry.java | 170 +--
.../java/org/apache/camel/impl/DeferProducer.java | 3 +-
.../camel/impl/DeferServiceStartupListener.java | 2 +-
.../camel/impl/DurationRoutePolicyFactory.java | 2 +-
.../java/org/apache/camel/impl/EndpointKey.java | 8 +-
.../camel/impl/EventDrivenConsumerRoute.java | 2 +-
.../camel/impl/EventDrivenPollingConsumer.java | 247 -----
.../apache/camel/impl/EventNotifierCallback.java | 2 +-
.../org/apache/camel/impl/FileStateRepository.java | 9 +-
.../camel/impl/FileWatcherReloadStrategy.java | 9 +-
.../camel/impl/HeaderFilterStrategyComponent.java | 1 +
.../apache/camel/impl/InterceptSendToEndpoint.java | 2 +-
.../impl/InterceptSendToEndpointProcessor.java | 8 +-
.../impl/InterceptSendToMockEndpointStrategy.java | 4 +-
.../java/org/apache/camel/impl/JndiRegistry.java | 4 +-
.../impl/LimitedPollingConsumerPollStrategy.java | 3 +-
.../java/org/apache/camel/impl/MessageSupport.java | 320 ------
.../apache/camel/impl/PollingConsumerSupport.java | 65 --
.../org/apache/camel/impl/ProcessorEndpoint.java | 100 --
.../camel/impl/ProcessorPollingConsumer.java | 77 --
.../java/org/apache/camel/impl/ProducerCache.java | 8 +-
.../impl/PropertyPlaceholderDelegateRegistry.java | 6 +-
.../camel/impl/ProvisionalEndpointRegistry.java | 3 +-
.../java/org/apache/camel/impl/RouteService.java | 9 +-
.../camel/impl/ScheduledBatchPollingConsumer.java | 127 ---
.../apache/camel/impl/ScheduledPollConsumer.java | 511 ---------
.../apache/camel/impl/ScheduledPollEndpoint.java | 424 --------
.../apache/camel/impl/SerializationDataFormat.java | 2 +-
.../java/org/apache/camel/impl/ServicePool.java | 6 +-
.../org/apache/camel/impl/SimpleUuidGenerator.java | 34 -
.../org/apache/camel/impl/StringDataFormat.java | 2 +-
.../camel/impl/SubscribeMethodProcessor.java | 4 +-
.../camel/impl/ThrottlingInflightRoutePolicy.java | 4 +-
.../impl/cloud/DefaultServiceCallProcessor.java | 4 +-
.../impl/cloud/DefaultServiceLoadBalancer.java | 2 +-
.../impl/cluster/ClusteredRouteConfiguration.java | 4 +-
.../impl/cluster/ClusteredRouteController.java | 5 +-
.../camel/impl/cluster/ClusteredRouteFilters.java | 4 +-
.../converter/AsyncProcessorTypeConverter.java | 2 +-
.../impl/converter/BaseTypeConverterRegistry.java | 11 +-
.../camel/impl/converter/EnumTypeConverter.java | 2 +-
.../camel/impl/converter/FutureTypeConverter.java | 2 +-
.../InstanceMethodFallbackTypeConverter.java | 4 +-
.../converter/InstanceMethodTypeConverter.java | 4 +-
.../StaticMethodFallbackTypeConverter.java | 4 +-
.../impl/converter/StaticMethodTypeConverter.java | 4 +-
.../impl/transformer/DataFormatTransformer.java | 2 +-
.../impl/transformer/ProcessorTransformer.java | 4 +-
.../camel/impl/transformer/TransformerKey.java | 2 +-
.../camel/impl/validator/ProcessorValidator.java | 4 +-
.../apache/camel/impl/validator/ValidatorKey.java | 2 +-
.../apache/camel/language/bean/BeanExpression.java | 2 +-
.../apache/camel/language/bean/BeanLanguage.java | 8 +-
.../camel/language/constant/ConstantLanguage.java | 2 +-
.../camel/language/header/HeaderLanguage.java | 2 +-
.../property/ExchangePropertyLanguage.java | 2 +-
.../org/apache/camel/language/ref/RefLanguage.java | 4 +-
.../camel/language/simple/SimpleLanguage.java | 8 +-
.../language/simple/SimplePredicateParser.java | 2 +-
.../language/simple/ast/BinaryExpression.java | 8 +-
.../language/simple/ast/LogicalExpression.java | 2 +-
.../camel/language/simple/ast/UnaryExpression.java | 9 +-
.../camel/language/tokenizer/TokenizeLanguage.java | 2 +-
.../language/tokenizer/XMLTokenizeLanguage.java | 2 +-
.../java/org/apache/camel/main/MainSupport.java | 2 +-
.../management/CompositePerformanceCounter.java | 1 -
.../camel/management/DefaultManagementAgent.java | 2 +-
.../DefaultManagementLifecycleStrategy.java | 6 +-
.../DefaultManagementMBeanAssembler.java | 2 +-
.../DefaultManagementObjectStrategy.java | 2 +-
.../management/DefaultManagementStrategy.java | 3 +-
.../management/DelegatePerformanceCounter.java | 3 +-
.../InstrumentationInterceptStrategy.java | 1 -
.../camel/management/InstrumentationProcessor.java | 1 -
.../camel/management/MBeanInfoAssembler.java | 6 +-
.../camel/management/PerformanceCounter.java | 66 ++
.../camel/management/PublishEventNotifier.java | 2 +-
.../mbean/ManagedAsyncProcessorAwaitManager.java | 4 +-
.../management/mbean/ManagedBacklogDebugger.java | 8 +-
.../management/mbean/ManagedBrowsableEndpoint.java | 2 +-
.../management/mbean/ManagedCamelContext.java | 11 +-
.../camel/management/mbean/ManagedCamelHealth.java | 4 +-
.../camel/management/mbean/ManagedChoice.java | 4 +-
.../camel/management/mbean/ManagedComponent.java | 6 +-
.../camel/management/mbean/ManagedDataFormat.java | 4 +-
.../management/mbean/ManagedDynamicRouter.java | 4 +-
.../camel/management/mbean/ManagedEndpoint.java | 4 +-
.../management/mbean/ManagedEndpointRegistry.java | 4 +-
.../camel/management/mbean/ManagedEnricher.java | 4 +-
.../mbean/ManagedFailoverLoadBalancer.java | 3 +-
.../mbean/ManagedInflightRepository.java | 4 +-
.../mbean/ManagedPerformanceCounter.java | 4 +-
.../management/mbean/ManagedPollEnricher.java | 4 +-
.../camel/management/mbean/ManagedProcessor.java | 6 +-
.../management/mbean/ManagedRecipientList.java | 4 +-
.../management/mbean/ManagedRestRegistry.java | 4 +-
.../camel/management/mbean/ManagedRoute.java | 3 +-
.../camel/management/mbean/ManagedRoutingSlip.java | 4 +-
.../mbean/ManagedRuntimeEndpointRegistry.java | 4 +-
.../mbean/ManagedScheduledPollConsumer.java | 2 +-
.../mbean/ManagedSendDynamicProcessor.java | 4 +-
.../management/mbean/ManagedSendProcessor.java | 4 +-
.../mbean/ManagedTransformerRegistry.java | 4 +-
.../mbean/ManagedTypeConverterRegistry.java | 6 +-
.../management/mbean/ManagedValidatorRegistry.java | 4 +-
.../management/mbean/ManagedWireTapProcessor.java | 4 +-
.../org/apache/camel/model/BeanDefinition.java | 9 +-
.../apache/camel/model/ClaimCheckDefinition.java | 8 +-
.../apache/camel/model/DataFormatDefinition.java | 4 +-
.../model/InterceptSendToEndpointDefinition.java | 2 +-
.../apache/camel/model/LoadBalancerDefinition.java | 2 +-
.../java/org/apache/camel/model/LogDefinition.java | 4 +-
.../apache/camel/model/MulticastDefinition.java | 2 +-
.../apache/camel/model/OnExceptionDefinition.java | 4 +-
.../camel/model/ProcessorDefinitionHelper.java | 4 +-
.../camel/model/RecipientListDefinition.java | 2 +-
.../camel/model/RedeliveryPolicyDefinition.java | 8 +-
.../apache/camel/model/ResequenceDefinition.java | 2 +-
.../model/RestContextRefDefinitionHelper.java | 5 +-
.../apache/camel/model/RouteBuilderDefinition.java | 2 +-
.../model/RouteContextRefDefinitionHelper.java | 5 +-
.../org/apache/camel/model/RouteDefinition.java | 9 +-
.../apache/camel/model/RouteDefinitionHelper.java | 22 +-
.../org/apache/camel/model/SagaDefinition.java | 2 +-
.../org/apache/camel/model/SortDefinition.java | 4 +-
.../org/apache/camel/model/SplitDefinition.java | 2 +-
.../camel/model/ThreadPoolProfileDefinition.java | 2 +-
.../org/apache/camel/model/ThreadsDefinition.java | 2 +-
.../camel/model/ThrowExceptionDefinition.java | 4 +-
.../apache/camel/model/TransactedDefinition.java | 12 +-
.../java/org/apache/camel/model/TryDefinition.java | 4 -
.../org/apache/camel/model/WireTapDefinition.java | 2 +-
...ulServiceCallServiceDiscoveryConfiguration.java | 2 +-
...cdServiceCallServiceDiscoveryConfiguration.java | 2 +-
.../camel/model/cloud/ServiceCallDefinition.java | 15 +-
.../cloud/ServiceCallExpressionConfiguration.java | 4 +-
.../ServiceCallServiceChooserConfiguration.java | 4 +-
.../ServiceCallServiceDiscoveryConfiguration.java | 4 +-
.../ServiceCallServiceFilterConfiguration.java | 4 +-
...erviceCallServiceLoadBalancerConfiguration.java | 4 +-
.../camel/model/dataformat/BindyDataFormat.java | 4 +-
.../camel/model/dataformat/BoonDataFormat.java | 4 +-
.../camel/model/dataformat/CryptoDataFormat.java | 2 +-
.../camel/model/dataformat/CsvDataFormat.java | 2 +-
.../camel/model/dataformat/FlatpackDataFormat.java | 2 +-
.../model/dataformat/JacksonXMLDataFormat.java | 6 +-
.../camel/model/dataformat/JaxbDataFormat.java | 2 +-
.../camel/model/dataformat/JibxDataFormat.java | 4 +-
.../camel/model/dataformat/JsonDataFormat.java | 6 +-
.../model/dataformat/TidyMarkupDataFormat.java | 4 +-
.../model/dataformat/XMLSecurityDataFormat.java | 2 +-
.../camel/model/dataformat/XStreamDataFormat.java | 2 +-
.../camel/model/dataformat/YAMLDataFormat.java | 3 +-
.../camel/model/language/ExpressionDefinition.java | 6 +-
.../camel/model/language/JsonPathExpression.java | 4 +-
.../camel/model/language/MethodCallExpression.java | 9 +-
.../camel/model/language/SimpleExpression.java | 4 +-
.../camel/model/language/TokenizerExpression.java | 2 +-
.../camel/model/language/XPathExpression.java | 7 +-
.../camel/model/language/XQueryExpression.java | 3 +-
.../loadbalancer/CustomLoadBalancerDefinition.java | 2 +-
.../WeightedLoadBalancerDefinition.java | 4 +-
.../camel/model/rest/RestBindingDefinition.java | 4 +-
.../model/rest/RestConfigurationDefinition.java | 7 +-
.../apache/camel/model/rest/RestDefinition.java | 13 +-
.../camel/processor/CamelInternalProcessor.java | 8 +-
.../apache/camel/processor/CamelLogProcessor.java | 4 +-
.../org/apache/camel/processor/CatchProcessor.java | 6 +-
.../apache/camel/processor/ChoiceProcessor.java | 8 +-
.../processor/ClaimCheckAggregationStrategy.java | 14 +-
.../camel/processor/ClaimCheckProcessor.java | 8 +-
.../camel/processor/ConvertBodyProcessor.java | 6 +-
.../apache/camel/processor/DeadLetterChannel.java | 2 +-
.../camel/processor/DefaultErrorHandler.java | 2 +-
.../camel/processor/DefaultExchangeFormatter.java | 2 +-
.../camel/processor/DelegateAsyncProcessor.java | 6 +-
.../apache/camel/processor/DelegateProcessor.java | 2 +-
.../camel/processor/DelegateSyncProcessor.java | 2 +-
.../org/apache/camel/processor/DynamicRouter.java | 2 +-
.../java/org/apache/camel/processor/Enricher.java | 16 +-
.../processor/EvaluateExpressionProcessor.java | 2 +-
.../camel/processor/ExchangePatternProcessor.java | 2 +-
.../apache/camel/processor/FilterProcessor.java | 4 +-
.../apache/camel/processor/FinallyProcessor.java | 4 +-
.../InterceptorToAsyncProcessorBridge.java | 4 +-
.../org/apache/camel/processor/LogProcessor.java | 6 +-
.../org/apache/camel/processor/LoopProcessor.java | 4 +-
.../apache/camel/processor/MarshalProcessor.java | 4 +-
.../apache/camel/processor/MulticastProcessor.java | 56 +-
.../camel/processor/OnCompletionProcessor.java | 8 +-
.../java/org/apache/camel/processor/Pipeline.java | 8 +-
.../org/apache/camel/processor/PipelineHelper.java | 2 +-
.../org/apache/camel/processor/PollEnricher.java | 16 +-
.../org/apache/camel/processor/RecipientList.java | 14 +-
.../camel/processor/RecipientListProcessor.java | 20 +-
.../camel/processor/RedeliveryErrorHandler.java | 19 +-
.../camel/processor/RemoveHeaderProcessor.java | 2 +-
.../camel/processor/RemoveHeadersProcessor.java | 2 +-
.../camel/processor/RemovePropertiesProcessor.java | 2 +-
.../camel/processor/RemovePropertyProcessor.java | 2 +-
.../org/apache/camel/processor/Resequencer.java | 6 +-
.../apache/camel/processor/RestBindingAdvice.java | 4 +-
.../apache/camel/processor/RollbackProcessor.java | 2 +-
.../org/apache/camel/processor/RoutingSlip.java | 16 +-
.../apache/camel/processor/ScriptProcessor.java | 2 +-
.../camel/processor/SendDynamicProcessor.java | 10 +-
.../org/apache/camel/processor/SendProcessor.java | 13 +-
.../apache/camel/processor/SetBodyProcessor.java | 6 +-
.../apache/camel/processor/SetHeaderProcessor.java | 2 +-
.../camel/processor/SetPropertyProcessor.java | 2 +-
.../processor/SharedCamelInternalProcessor.java | 2 +-
.../org/apache/camel/processor/SortProcessor.java | 2 +-
.../java/org/apache/camel/processor/Splitter.java | 4 +-
.../org/apache/camel/processor/StopProcessor.java | 2 +-
.../apache/camel/processor/StreamResequencer.java | 6 +-
.../apache/camel/processor/ThreadsProcessor.java | 8 +-
.../java/org/apache/camel/processor/Throttler.java | 4 +-
.../apache/camel/processor/ThroughputLogger.java | 4 +-
.../camel/processor/ThrowExceptionProcessor.java | 2 +-
.../apache/camel/processor/TransformProcessor.java | 6 +-
.../org/apache/camel/processor/TryProcessor.java | 10 +-
.../apache/camel/processor/UnitOfWorkProducer.java | 5 +-
.../apache/camel/processor/UnmarshalProcessor.java | 4 +-
.../apache/camel/processor/WireTapProcessor.java | 15 +-
.../org/apache/camel/processor/WrapProcessor.java | 2 +-
.../processor/aggregate/AggregateProcessor.java | 10 +-
.../aggregate/AggregationStrategyBeanAdapter.java | 2 +-
.../GroupedExchangeAggregationStrategy.java | 2 +-
.../GroupedMessageAggregationStrategy.java | 2 +-
.../ShareUnitOfWorkAggregationStrategy.java | 4 +-
.../aggregate/UseLatestAggregationStrategy.java | 2 +-
.../idempotent/FileIdempotentRepository.java | 67 +-
.../processor/idempotent/IdempotentConsumer.java | 8 +-
.../idempotent/IdempotentOnCompletion.java | 2 +-
.../idempotent/MemoryIdempotentRepository.java | 4 +-
.../processor/interceptor/BacklogDebugger.java | 12 +-
.../camel/processor/interceptor/BacklogTracer.java | 4 +-
.../processor/interceptor/DefaultChannel.java | 6 +-
.../loadbalancer/FailOverLoadBalancer.java | 4 +-
.../loadbalancer/LoadBalancerConsumer.java | 2 +-
.../loadbalancer/LoadBalancerSupport.java | 4 +-
.../camel/processor/validation/SchemaReader.java | 2 +-
.../processor/validation/ValidatingProcessor.java | 2 +-
.../org/apache/camel/spi/EndpointRegistry.java | 3 +-
.../main/java/org/apache/camel/spi/Injector.java | 10 -
.../java/org/apache/camel/spi/LogListener.java | 2 +-
.../org/apache/camel/spi/RestConfiguration.java | 4 +-
.../camel/spi/RestProducerFactoryHelper.java | 4 +-
.../camel/spi/ScheduledPollConsumerScheduler.java | 6 +-
.../org/apache/camel/spi/ThreadPoolProfile.java | 2 +-
.../org/apache/camel/spi/TransformerRegistry.java | 3 +-
.../org/apache/camel/spi/ValidatorRegistry.java | 3 +-
.../support/AsyncProcessorConverterHelper.java | 178 +++
.../apache/camel/support/AsyncProcessorHelper.java | 68 ++
.../org/apache/camel/support/AttachmentMap.java | 141 +++
.../BridgeExceptionHandlerToErrorHandler.java | 85 ++
.../apache/camel/support/CamelContextHelper.java | 822 ++++++++++++++
.../java/org/apache/camel/support/CamelLogger.java | 265 +++++
.../camel/support/CamelObjectInputStream.java | 46 +
.../apache/camel/support/ChildServiceSupport.java | 2 -
.../apache/camel/support/DefaultAsyncProducer.java | 36 +
.../apache/camel/support/DefaultAttachment.java | 125 +++
.../org/apache/camel/support/DefaultComponent.java | 502 +++++++++
.../org/apache/camel/support/DefaultConsumer.java | 159 +++
.../org/apache/camel/support/DefaultEndpoint.java | 476 ++++++++
.../org/apache/camel/support/DefaultExchange.java | 556 ++++++++++
.../org/apache/camel/support/DefaultMessage.java | 399 +++++++
.../DefaultPollingConsumerPollStrategy.java | 45 +
.../camel/support/DefaultPollingEndpoint.java | 40 +
.../org/apache/camel/support/DefaultProducer.java | 76 ++
.../support/DefaultScheduledPollConsumer.java | 106 ++
.../DefaultScheduledPollConsumerScheduler.java | 194 ++++
.../org/apache/camel/support/EndpointHelper.java | 496 +++++++++
.../camel/support/EventDrivenPollingConsumer.java | 243 +++++
.../java/org/apache/camel/support/EventHelper.java | 1102 +++++++++++++++++++
.../org/apache/camel/support/ExchangeHelper.java | 1032 ++++++++++++++++++
.../apache/camel/support/ExpressionComparator.java | 41 +
.../camel/support/ExpressionListComparator.java | 48 +
.../support/ExpressionToPredicateAdapter.java | 72 ++
.../java/org/apache/camel/support/GZIPHelper.java | 111 ++
.../org/apache/camel/support/GroupIterator.java | 131 +++
.../apache/camel/support/GroupTokenIterator.java | 162 +++
.../apache/camel/support/IntrospectionSupport.java | 760 +++++++++++++
.../java/org/apache/camel/support/LRUCache.java | 282 +++++
.../org/apache/camel/support/LRUCacheFactory.java | 221 ++++
.../org/apache/camel/support/LRUSoftCache.java | 74 ++
.../org/apache/camel/support/LRUWeakCache.java | 70 ++
.../org/apache/camel/support/LanguageSupport.java | 1 -
.../camel/support/LoggingExceptionHandler.java | 3 +-
.../java/org/apache/camel/support/MessageDump.java | 144 +++
.../org/apache/camel/support/MessageHelper.java | 604 +++++++++++
.../org/apache/camel/support/MessageSupport.java | 320 ++++++
.../org/apache/camel/support/ObjectHelper.java | 655 +++++++++++
.../apache/camel/support/OrderedComparator.java | 73 ++
.../org/apache/camel/support/PlatformHelper.java | 51 +
.../camel/support/PollingConsumerSupport.java | 61 ++
.../camel/support/PredicateAssertHelper.java | 59 +
.../support/PredicateToExpressionAdapter.java | 51 +
.../apache/camel/support/ProcessorEndpoint.java | 100 ++
.../camel/support/ProcessorPollingConsumer.java | 76 ++
.../camel/support/ReloadStrategySupport.java | 8 +-
.../org/apache/camel/support/ResolverHelper.java | 153 +++
.../org/apache/camel/support/ResourceHelper.java | 371 +++++++
.../apache/camel/support/RoutePolicySupport.java | 3 -
.../support/ScheduledBatchPollingConsumer.java | 125 +++
.../camel/support/ScheduledPollConsumer.java | 507 +++++++++
.../camel/support/ScheduledPollEndpoint.java | 421 ++++++++
.../support/ServiceCallExpressionSupport.java | 5 +-
.../org/apache/camel/support/ServiceHelper.java | 467 ++++++++
.../org/apache/camel/support/ServiceSupport.java | 3 -
.../apache/camel/support/SimpleUuidGenerator.java | 34 +
.../camel/support/TokenPairExpressionIterator.java | 2 +-
.../camel/support/TokenXMLExpressionIterator.java | 2 +-
.../org/apache/camel/support/UnitOfWorkHelper.java | 150 +++
.../camel/support/XMLTokenExpressionIterator.java | 2 +-
.../support/component/AbstractApiComponent.java | 126 +++
.../support/component/AbstractApiConsumer.java | 114 ++
.../support/component/AbstractApiEndpoint.java | 303 ++++++
.../support/component/AbstractApiProducer.java | 196 ++++
.../camel/support/component/ApiCollection.java | 83 ++
.../camel/support/component/ApiConsumerHelper.java | 149 +++
.../apache/camel/support/component/ApiMethod.java | 56 +
.../camel/support/component/ApiMethodArg.java | 60 +
.../camel/support/component/ApiMethodHelper.java | 522 +++++++++
.../camel/support/component/ApiMethodImpl.java | 121 +++
.../camel/support/component/ApiMethodParser.java | 360 ++++++
.../component/ApiMethodPropertiesHelper.java | 116 ++
.../apache/camel/support/component/ApiName.java | 29 +
.../component/ArgumentSubstitutionParser.java | 209 ++++
.../support/component/PropertiesInterceptor.java | 32 +
.../component/PropertyNamesInterceptor.java | 32 +
.../camel/support/component/ResultInterceptor.java | 39 +
.../camel/{util => support}/component/package.html | 0
.../support/jndi/CamelInitialContextFactory.java | 55 +
.../jndi/CamelSingletonInitialContextFactory.java | 51 +
.../org/apache/camel/support/jndi/JndiContext.java | 434 ++++++++
.../camel/{util => support}/jndi/package.html | 0
.../jsse/AliasedX509ExtendedKeyManager.java | 81 ++
.../support/jsse/BaseSSLContextParameters.java | 1141 ++++++++++++++++++++
.../camel/support/jsse/CipherSuitesParameters.java | 57 +
.../camel/support/jsse/ClientAuthentication.java | 36 +
.../camel/support/jsse/FilterParameters.java | 153 +++
.../jsse/GlobalSSLContextParametersSupplier.java | 25 +
.../apache/camel/support/jsse/JsseParameters.java | 194 ++++
.../camel/support/jsse/KeyManagersParameters.java | 209 ++++
.../camel/support/jsse/KeyStoreParameters.java | 207 ++++
.../support/jsse/SSLContextClientParameters.java | 113 ++
.../camel/support/jsse/SSLContextParameters.java | 428 ++++++++
.../support/jsse/SSLContextServerParameters.java | 192 ++++
.../camel/support/jsse/SecureRandomParameters.java | 128 +++
.../jsse/SecureSocketProtocolsParameters.java | 57 +
.../support/jsse/TrustManagersParameters.java | 195 ++++
.../camel/{util => support}/jsse/package.html | 0
.../camel/util/AsyncProcessorConverterHelper.java | 178 ---
.../apache/camel/util/AsyncProcessorHelper.java | 68 --
.../java/org/apache/camel/util/AttachmentMap.java | 142 ---
.../org/apache/camel/util/CamelContextHelper.java | 796 --------------
.../java/org/apache/camel/util/CamelLogger.java | 264 -----
.../apache/camel/util/CamelObjectInputStream.java | 46 -
.../org/apache/camel/util/CollectionHelper.java | 19 +-
.../org/apache/camel/util/CompoundIterator.java | 64 --
.../java/org/apache/camel/util/EndpointHelper.java | 493 ---------
.../java/org/apache/camel/util/EventHelper.java | 1102 -------------------
.../java/org/apache/camel/util/ExchangeHelper.java | 940 ----------------
.../apache/camel/util/ExpressionComparator.java | 41 -
.../camel/util/ExpressionListComparator.java | 48 -
.../camel/util/ExpressionToPredicateAdapter.java | 71 --
.../java/org/apache/camel/util/GZIPHelper.java | 110 --
.../java/org/apache/camel/util/GroupIterator.java | 129 ---
.../org/apache/camel/util/GroupTokenIterator.java | 160 ---
.../main/java/org/apache/camel/util/IOHelper.java | 92 +-
.../apache/camel/util/IntrospectionSupport.java | 758 -------------
.../java/org/apache/camel/util/KeyValueHolder.java | 32 +-
.../main/java/org/apache/camel/util/LRUCache.java | 281 -----
.../org/apache/camel/util/LRUCacheFactory.java | 220 ----
.../java/org/apache/camel/util/LRUSoftCache.java | 72 --
.../java/org/apache/camel/util/LRUWeakCache.java | 68 --
.../apache/camel/util/LoadPropertiesException.java | 38 -
.../java/org/apache/camel/util/MessageDump.java | 144 ---
.../java/org/apache/camel/util/MessageHelper.java | 602 -----------
.../java/org/apache/camel/util/ObjectHelper.java | 728 +------------
.../org/apache/camel/util/OrderedComparator.java | 73 --
.../java/org/apache/camel/util/PlatformHelper.java | 51 -
.../apache/camel/util/PredicateAssertHelper.java | 58 -
.../camel/util/PredicateToExpressionAdapter.java | 51 -
.../org/apache/camel/util/ReferenceCounted.java | 38 -
.../org/apache/camel/util/ReflectionInjector.java | 47 -
.../java/org/apache/camel/util/ResolverHelper.java | 153 ---
.../java/org/apache/camel/util/ResourceHelper.java | 368 -------
.../main/java/org/apache/camel/util/Scanner.java | 28 +-
.../java/org/apache/camel/util/ServiceHelper.java | 467 --------
.../java/org/apache/camel/util/SkipIterator.java | 10 +-
.../java/org/apache/camel/util/StringHelper.java | 6 +-
.../src/main/java/org/apache/camel/util/Time.java | 87 --
.../org/apache/camel/util/UnitOfWorkHelper.java | 150 ---
.../java/org/apache/camel/util/ValueHolder.java | 55 -
.../org/apache/camel/util/WeakThreadLocal.java | 51 -
.../camel/util/component/AbstractApiComponent.java | 126 ---
.../camel/util/component/AbstractApiConsumer.java | 116 --
.../camel/util/component/AbstractApiEndpoint.java | 303 ------
.../camel/util/component/AbstractApiProducer.java | 197 ----
.../apache/camel/util/component/ApiCollection.java | 83 --
.../camel/util/component/ApiConsumerHelper.java | 149 ---
.../org/apache/camel/util/component/ApiMethod.java | 56 -
.../apache/camel/util/component/ApiMethodArg.java | 60 -
.../camel/util/component/ApiMethodHelper.java | 522 ---------
.../apache/camel/util/component/ApiMethodImpl.java | 121 ---
.../camel/util/component/ApiMethodParser.java | 360 ------
.../util/component/ApiMethodPropertiesHelper.java | 116 --
.../org/apache/camel/util/component/ApiName.java | 29 -
.../util/component/ArgumentSubstitutionParser.java | 209 ----
.../util/component/PropertiesInterceptor.java | 32 -
.../util/component/PropertyNamesInterceptor.java | 32 -
.../camel/util/component/ResultInterceptor.java | 39 -
.../camel/util/concurrent/AtomicException.java | 28 -
.../camel/util/concurrent/AtomicExchange.java | 30 -
.../apache/camel/util/concurrent/Rejectable.java | 29 +
.../util/concurrent/RejectableFutureTask.java | 2 -
.../RejectableScheduledThreadPoolExecutor.java | 12 +-
.../concurrent/RejectableThreadPoolExecutor.java | 12 +-
.../util/concurrent/ThreadPoolRejectedPolicy.java | 101 ++
.../org/apache/camel/util/function/Predicates.java | 7 +-
.../util/jndi/CamelInitialContextFactory.java | 55 -
.../jndi/CamelSingletonInitialContextFactory.java | 51 -
.../org/apache/camel/util/jndi/JndiContext.java | 437 --------
.../util/jsse/AliasedX509ExtendedKeyManager.java | 81 --
.../camel/util/jsse/BaseSSLContextParameters.java | 1138 -------------------
.../camel/util/jsse/CipherSuitesParameters.java | 57 -
.../camel/util/jsse/ClientAuthentication.java | 36 -
.../apache/camel/util/jsse/FilterParameters.java | 153 ---
.../jsse/GlobalSSLContextParametersSupplier.java | 25 -
.../org/apache/camel/util/jsse/JsseParameters.java | 194 ----
.../camel/util/jsse/KeyManagersParameters.java | 209 ----
.../apache/camel/util/jsse/KeyStoreParameters.java | 207 ----
.../util/jsse/SSLContextClientParameters.java | 113 --
.../camel/util/jsse/SSLContextParameters.java | 428 --------
.../util/jsse/SSLContextServerParameters.java | 192 ----
.../camel/util/jsse/SecureRandomParameters.java | 128 ---
.../util/jsse/SecureSocketProtocolsParameters.java | 57 -
.../camel/util/jsse/TrustManagersParameters.java | 195 ----
.../camel/util/toolbox/AggregationStrategies.java | 152 ---
.../util/toolbox/FlexibleAggregationStrategy.java | 438 --------
.../util/toolbox/XsltAggregationStrategy.java | 251 -----
.../org/apache/camel/util/toolbox/package.html | 27 -
.../org/apache/camel/BodyAndHeaderConvertTest.java | 5 +-
.../java/org/apache/camel/CamelExceptionsTest.java | 2 +-
.../java/org/apache/camel/ContextTestSupport.java | 2 +-
.../java/org/apache/camel/ExchangeTestSupport.java | 2 +-
.../org/apache/camel/InjectorDefaultsTest.java | 14 -
.../test/java/org/apache/camel/TestSupport.java | 4 +-
.../apache/camel/ThreadPoolRejectedPolicyTest.java | 2 +
.../apache/camel/builder/ExchangeBuilderTest.java | 2 +-
.../camel/builder/ExpressionBuilderTest.java | 2 +-
.../apache/camel/builder/ExpressionClauseTest.java | 2 +-
.../camel/builder/NotifyBuilderFromRouteTest.java | 4 +-
.../builder/PredicateBinaryCoerceTypeTest.java | 2 +-
.../builder/PredicateBuilderConcurrentTest.java | 2 +-
.../apache/camel/builder/PredicateBuilderTest.java | 2 +-
.../apache/camel/builder/SimpleBuilderTest.java | 2 +-
.../camel/builder/ThreadPoolBuilderTest.java | 2 +-
.../apache/camel/builder/xml/XsltBuilderTest.java | 5 +-
.../camel/component/ComponentDiscoveryTest.java | 2 +-
.../apache/camel/component/bar/BarComponent.java | 2 +-
.../apache/camel/component/bar/BarEndpoint.java | 2 +-
.../apache/camel/component/bar/BarProducer.java | 2 +-
.../BeanExchangeAsReturnTypeNotAllowedTest.java | 2 +-
.../component/bean/BeanExcludedMethodTest.java | 2 +-
.../component/bean/BeanHandlerMethodTest.java | 2 +-
.../component/bean/BeanImplicitMethodTest.java | 2 +-
.../camel/component/bean/BeanInPipelineTest.java | 2 +-
.../bean/BeanInfoAMoreComplexOverloadedTest.java | 4 +-
.../component/bean/BeanInfoInheritanceTest.java | 2 +-
.../component/bean/BeanInfoOverloadedTest.java | 4 +-
.../bean/BeanInfoWithBridgedMethodTest.java | 2 +-
.../bean/BeanLookupUsingJndiRegistryIssueTest.java | 2 +-
.../component/bean/BeanMethodWithExchangeTest.java | 4 +-
.../camel/component/bean/BeanPipelineTest.java | 2 +-
.../bean/BeanReturnCallableReturnNullTest.java | 2 +-
.../component/bean/BeanReturnCallableTest.java | 2 +-
.../bean/BeanWithAnnotationAndExchangeTest.java | 2 +-
.../bean/BeanWithAnnotationInheritedTest.java | 2 +-
.../bean/BeanWithAttachmentAnnotationTest.java | 4 +-
.../BeanWithExchangeExceptionAnnotationTest.java | 2 +-
.../BeanWithExpressionInjectionPredicateTest.java | 2 +-
.../bean/BeanWithExpressionInjectionTest.java | 2 +-
.../camel/component/bean/BeanWithHeaderTest.java | 2 +-
.../bean/BeanWithHeadersAndBodyInject2Test.java | 2 +-
.../bean/BeanWithHeadersAndBodyInject3Test.java | 2 +-
.../bean/BeanWithHeadersAndBodyInjectionTest.java | 2 +-
.../component/bean/BeanWithMethodHeaderTest.java | 2 +-
...thPropertiesAndHeadersAndBodyInjectionTest.java | 2 +-
.../BeanWithPropertiesAndHeadersInjectionTest.java | 2 +-
...BeanWithXPathInjectionUsingHeaderValueTest.java | 2 +-
.../BeanWithXPathInjectionUsingResultTypeTest.java | 2 +-
.../BodyAnnotationToDisambiguateMethodsTest.java | 2 +-
...ressionAnnotationToDisambiguateMethodsTest.java | 2 +-
.../camel/component/bean/NewInstanceTest.java | 2 +-
.../camel/component/bean/PredicateAsBeanTest.java | 2 +-
.../camel/component/dataset/CustomDataSetTest.java | 2 +-
.../directvm/AbstractDirectVmTestSupport.java | 2 +-
.../directvm/DirectVmConsumerExpressionTest.java | 2 +-
.../camel/component/file/BeanToFileTest.java | 2 +-
...FileConsumerPollStrategyStopOnRollbackTest.java | 4 +-
.../camel/component/log/LogListenerTest.java | 2 +-
.../apache/camel/component/log/LogMaskTest.java | 2 +-
.../component/rest/DummyRestConsumerFactory.java | 2 +-
.../rest/RestComponentVerifierExtensionTest.java | 2 +-
.../component/rest/RestComponentVerifierTest.java | 2 +-
.../camel/component/rest/RestEndpointTest.java | 2 +-
.../rest/RestProducerBindingProcessorTest.java | 4 +-
.../camel/component/rest/RestProducerTest.java | 2 +-
.../component/scheduler/SchedulerRouteTest.java | 2 +-
.../component/seda/SedaAsyncProducerTest.java | 2 +-
.../seda/SedaConsumerSuspendResumeTest.java | 2 +-
.../camel/component/test/TestEndpointTest.java | 4 +-
.../camel/component/timer/TimerAsyncTest.java | 2 +-
.../camel/component/timer/TimerRouteTest.java | 2 +-
.../ValidatorWithResourceResolverRouteTest.java | 2 +-
.../camel/component/vm/AbstractVmTestSupport.java | 2 +-
.../xslt/XsltCustomizeURIResolverTest.java | 2 +-
.../apache/camel/component/xslt/XsltDTDTest.java | 2 +-
.../component/xslt/XsltReferenceParameterTest.java | 4 +-
.../apache/camel/converter/CamelConverterTest.java | 2 +-
.../org/apache/camel/converter/ConverterTest.java | 7 +-
.../apache/camel/converter/EnumConverterTest.java | 2 +-
.../camel/converter/FutureConverterTest.java | 2 +-
.../apache/camel/converter/IOConverterTest.java | 2 +-
.../converter/InstanceFallbackConverterTest.java | 2 +-
.../java/org/apache/camel/converter/JaxpTest.java | 3 +-
.../converter/StaticFallbackConverterTest.java | 2 +-
.../apache/camel/converter/StringSourceTest.java | 3 +-
.../camel/converter/jaxp/StAX2SAXSourceTest.java | 2 +-
.../camel/converter/jaxp/StaxConverterTest.java | 2 +-
.../camel/converter/jaxp/XmlConverterTest.java | 2 +-
.../converter/stream/CachedOutputStreamTest.java | 3 +-
.../converter/stream/StreamCacheConverterTest.java | 2 +-
.../converter/stream/StreamSourceCacheTest.java | 2 +-
.../CamelCustomDefaultThreadPoolProfileTest.java | 2 +-
.../camel/impl/CamelPostProcessorHelperTest.java | 9 +-
.../DefaultAsyncProcessorAwaitManagerTest.java | 1 +
.../DefaultCamelContextEndpointCacheLimitTest.java | 67 --
.../impl/DefaultCamelContextEndpointCacheTest.java | 59 -
.../impl/DefaultCamelContextResolverTest.java | 1 +
.../apache/camel/impl/DefaultCamelContextTest.java | 2 +-
.../DefaultComponentReferencePropertiesTest.java | 3 +
.../apache/camel/impl/DefaultComponentTest.java | 1 +
.../camel/impl/DefaultConsumerTemplateTest.java | 1 +
.../org/apache/camel/impl/DefaultEndpointTest.java | 77 --
.../camel/impl/DefaultExchangeHolderTest.java | 1 +
.../org/apache/camel/impl/DefaultExchangeTest.java | 5 +-
.../impl/DefaultExecutorServiceManagerTest.java | 2 +-
.../impl/DefaultHeaderFilterStrategyTest.java | 1 +
.../camel/impl/DefaultInflightRepositoryTest.java | 1 +
.../camel/impl/DefaultMessageHeaderTest.java | 2 +
.../org/apache/camel/impl/DefaultMessageTest.java | 39 -
.../camel/impl/DefaultProducerCacheTest.java | 3 +
.../impl/DefaultProducerTemplateAsyncTest.java | 1 +
.../apache/camel/impl/DefaultUnitOfWorkTest.java | 2 +
.../camel/impl/EndpointShutdownOnceTest.java | 2 +
.../EventDrivenPollingConsumerQueueSizeTest.java | 6 +-
.../apache/camel/impl/ExpressionAdapterTest.java | 1 +
.../apache/camel/impl/ExpressionSupportTest.java | 1 +
.../impl/HeaderFilterStrategyComponentTest.java | 1 +
.../org/apache/camel/impl/JndiRegistryTest.java | 4 +-
.../impl/LifecycleStrategyFailOnStartupTest.java | 2 +-
.../camel/impl/LifecycleStrategyServiceTest.java | 2 +-
.../LimitedPollingConsumerPollStrategyTest.java | 2 +-
.../org/apache/camel/impl/MessageSupportTest.java | 3 +
.../camel/impl/Mock321ScheduledPollConsumer.java | 1 +
.../camel/impl/MockScheduledPollConsumer.java | 2 +
.../camel/impl/MultipleConsumersSupportTest.java | 2 +
.../camel/impl/MultipleLifecycleStrategyTest.java | 2 +-
.../camel/impl/ProducerCacheNonSingletonTest.java | 3 +
.../java/org/apache/camel/impl/RegistryTest.java | 2 +-
...edPollEndpointConfigureConsumerRestartTest.java | 3 +
.../apache/camel/impl/SimpleUuidGeneratorTest.java | 1 +
.../org/apache/camel/impl/ZipDataFormatTest.java | 1 +
.../impl/transformer/TransformerRouteTest.java | 8 +-
.../camel/impl/validator/ValidatorRouteTest.java | 8 +-
.../apache/camel/issues/Camel4857UriIssueTest.java | 4 +-
.../camel/issues/ComponentUseRawUriTest.java | 4 +-
.../issues/EndpointWithRawUriParameterTest.java | 6 +-
.../MessageWithAttachmentRedeliveryIssueTest.java | 2 +-
...etryRouteScopedUntilRecipientListIssueTest.java | 4 +-
.../issues/SentExchangeEventNotifierIssueTest.java | 2 +-
.../SentExchangeEventNotifierTwoIssueTest.java | 2 +-
...ThreadsRejectedExecutionWithDeadLetterTest.java | 2 +-
.../apache/camel/language/simple/SimpleTest.java | 2 +-
.../language/simple/SimpleWithPropertiesTest.java | 2 +-
.../DualManagedThreadPoolProfileTest.java | 2 +-
.../JmxInstrumentationCustomMBeanTest.java | 2 +-
.../camel/management/ManagedComponentTest.java | 2 +-
.../management/ManagedRouteAddFromRouteTest.java | 2 +-
.../management/ManagedThreadPoolProfileTest.java | 2 +-
.../apache/camel/model/ModelSanityCheckerTest.java | 2 +-
.../BeanOgnMethodWithXPathInjectionTest.java | 2 +-
.../BeanProcessorSpecializedMessageTest.java | 2 +-
.../BeanRecipientListInterfaceAnnotationTest.java | 2 +-
.../camel/processor/BeanRecipientListTest.java | 2 +-
.../processor/BeanRecipientListTimeoutTest.java | 2 +-
.../org/apache/camel/processor/BeanRouteTest.java | 2 +-
.../camel/processor/BeanWithExceptionTest.java | 2 +-
.../processor/BeanWithXPathInjectionTest.java | 2 +-
...tConsumerBridgeErrorHandlerOnExceptionTest.java | 6 +-
.../DefaultConsumerBridgeErrorHandlerTest.java | 6 +-
.../processor/DefaultExchangeFormatterTest.java | 4 +-
...cheduledPollConsumerBridgeErrorHandlerTest.java | 6 +-
.../apache/camel/processor/DynamicRouter4Test.java | 2 +-
...point2MustBeStartedBeforeSendProcessorTest.java | 6 +-
...dpointMustBeStartedBeforeSendProcessorTest.java | 6 +-
.../apache/camel/processor/LogEipListenerTest.java | 2 +-
.../org/apache/camel/processor/LogEipMaskTest.java | 2 +-
.../MulticastKeepOriginalMessageUnchangedTest.java | 2 +-
.../MulticastParallelFailureEndpointTest.java | 2 +-
.../org/apache/camel/processor/NormalizerTest.java | 2 +-
...StacksNeededDuringRoutingSendProcessorTest.java | 4 +-
.../camel/processor/SetBodyProcessorTest.java | 2 +-
.../org/apache/camel/processor/SimulatorTest.java | 2 +-
.../apache/camel/processor/SortExpressionTest.java | 2 +-
.../apache/camel/processor/SplitterPojoTest.java | 2 +-
...litterUseOriginalNotPropagateExceptionTest.java | 2 +-
.../camel/processor/StreamResequencerTest.java | 2 +-
.../camel/processor/ThreadsInvalidConfigTest.java | 2 +-
.../processor/ThreadsRejectedExecutionTest.java | 2 +-
.../camel/processor/ThreadsRejectedPolicyTest.java | 2 +-
.../camel/processor/ThroughPutLoggerTest.java | 4 +-
.../camel/processor/UnmarshalProcessorTest.java | 2 +-
.../camel/processor/WireTapOnExceptionTest.java | 4 +-
.../aggregator/AbstractDistributedTest.java | 2 +-
.../AggregateGroupedExchangeBackwardsCompTest.java | 3 +-
...roupedExchangeCompletionExpressionSizeTest.java | 2 +-
.../aggregator/AggregateProcessorTest.java | 3 +-
...egateProcessorTimeoutCompletionRestartTest.java | 3 +-
.../aggregator/AggregateThreadPoolProfileTest.java | 2 +-
...ggregationStrategyBeanAdapterAllowNullTest.java | 2 +-
...tionStrategyBeanAdapterNonStaticMethodTest.java | 2 +-
...ggregationStrategyBeanAdapterOneMethodTest.java | 2 +-
...gregationStrategyBeanAdapterPollEnrichTest.java | 2 +-
...egationStrategyBeanAdapterStaticMethodTest.java | 2 +-
.../AggregationStrategyBeanAdapterTest.java | 2 +-
...egyBeanAdapterWithHeadersAndPropertiesTest.java | 2 +-
...regationStrategyBeanAdapterWithHeadersTest.java | 2 +-
.../processor/async/AsyncEndpointPolicyTest.java | 4 +-
...syncEndpointRoutingSlipBeanNonBlockingTest.java | 4 +-
...sorAwaitManagerInterruptWithRedeliveryTest.java | 2 +-
.../camel/processor/async/MyAsyncComponent.java | 2 +-
.../camel/processor/async/MyAsyncEndpoint.java | 2 +-
.../camel/processor/async/MyAsyncProducer.java | 2 +-
.../processor/enricher/PollEnricherRefTest.java | 2 +-
.../OnExceptionWrappedExceptionTest.java | 2 +-
.../RoutingSlipDataModificationTest.java | 2 +-
.../routingslip/RoutingSlipWithExceptionTest.java | 2 +-
.../DefaultValidationErrorHandlerTest.java | 2 +-
.../DefaultCamelContextEndpointCacheLimitTest.java | 67 ++
.../DefaultCamelContextEndpointCacheTest.java | 59 +
.../apache/camel/support/DefaultEndpointTest.java | 77 ++
.../apache/camel/support/DefaultMessageTest.java | 40 +
.../camel/support/GroupTokenIteratorTest.java | 113 ++
.../camel/support/IntrospectionSupportTest.java | 476 ++++++++
.../support/component/ApiMethodHelperTest.java | 228 ++++
.../component/ApiMethodPropertiesHelperTest.java | 135 +++
.../component/ArgumentSubstitutionParserTest.java | 101 ++
.../apache/camel/support/component/TestProxy.java | 104 ++
.../org/apache/camel/support/jndi/ExampleBean.java | 51 +
...ndiCamelSingletonInitialContextFactoryTest.java | 83 ++
.../org/apache/camel/support/jndi/JndiTest.java | 74 ++
.../support/jsse/AbstractJsseParametersTest.java | 118 ++
.../camel/support/jsse/FilterParametersTest.java | 119 ++
.../support/jsse/KeyManagersParametersTest.java | 159 +++
.../camel/support/jsse/KeyStoreParametersTest.java | 164 +++
.../support/jsse/SSLContextParametersTest.java | 848 +++++++++++++++
.../support/jsse/SecureRandomParametersTest.java | 99 ++
.../support/jsse/TrustManagersParametersTest.java | 142 +++
.../apache/camel/util/CamelContextHelperTest.java | 1 +
.../apache/camel/util/CollectionHelperTest.java | 17 +-
.../org/apache/camel/util/EndpointHelperTest.java | 1 +
.../org/apache/camel/util/ExchangeHelperTest.java | 3 +-
.../camel/util/ExpressionListComparatorTest.java | 3 +-
.../java/org/apache/camel/util/GZIPHelperTest.java | 3 +-
.../apache/camel/util/GroupTokenIteratorTest.java | 112 --
.../java/org/apache/camel/util/IOHelperTest.java | 9 +-
.../camel/util/IntrospectionSupportTest.java | 474 --------
.../java/org/apache/camel/util/LRUCacheTest.java | 1 +
.../org/apache/camel/util/LRUSoftCacheTest.java | 1 +
.../org/apache/camel/util/MessageHelperTest.java | 6 +-
.../org/apache/camel/util/ObjectHelperTest.java | 274 ++---
.../apache/camel/util/OrderedComparatorTest.java | 1 +
.../org/apache/camel/util/PlatformHelperTest.java | 2 +-
.../camel/util/PredicateAssertHelperTest.java | 3 +-
.../org/apache/camel/util/ReflectionInjector.java | 37 +
.../org/apache/camel/util/ResourceHelperTest.java | 1 +
.../test/java/org/apache/camel/util/TimeTest.java | 21 +-
.../camel/util/component/ApiMethodHelperTest.java | 228 ----
.../component/ApiMethodPropertiesHelperTest.java | 135 ---
.../component/ArgumentSubstitutionParserTest.java | 101 --
.../org/apache/camel/util/component/TestProxy.java | 104 --
.../org/apache/camel/util/jndi/ExampleBean.java | 51 -
...ndiCamelSingletonInitialContextFactoryTest.java | 83 --
.../java/org/apache/camel/util/jndi/JndiTest.java | 74 --
.../util/jsse/AbstractJsseParametersTest.java | 118 --
.../camel/util/jsse/FilterParametersTest.java | 119 --
.../camel/util/jsse/KeyManagersParametersTest.java | 159 ---
.../camel/util/jsse/KeyStoreParametersTest.java | 164 ---
.../camel/util/jsse/SSLContextParametersTest.java | 848 ---------------
.../util/jsse/SecureRandomParametersTest.java | 99 --
.../util/jsse/TrustManagersParametersTest.java | 142 ---
.../toolbox/FlexibleAggregationStrategiesTest.java | 6 +-
.../src/test/resources/jndi-example.properties | 4 +-
.../camel/{util => support}/jsse/localhost.ks | Bin
.../org/apache/camel/support/jsse/test.properties | 28 +
.../org/apache/camel/util/jsse/test.properties | 28 -
.../src/main/docs/ahc-ws-component.adoc | 6 +-
.../apache/camel/component/ahc/ws/WsConsumer.java | 2 +-
.../apache/camel/component/ahc/ws/WsProducer.java | 2 +-
.../camel/component/ahc/ws/WssProducerTest.java | 12 +-
.../camel-ahc/src/main/docs/ahc-component.adoc | 6 +-
.../apache/camel/component/ahc/AhcComponent.java | 8 +-
.../apache/camel/component/ahc/AhcEndpoint.java | 6 +-
.../apache/camel/component/ahc/AhcProducer.java | 2 +-
.../camel/component/ahc/DefaultAhcBinding.java | 8 +-
...ponentClientConfigSslContextParametersTest.java | 2 +-
.../apache/camel/component/ahc/BaseAhcTest.java | 12 +-
.../ahc/HttpHeaderFilterStrategyTest.java | 2 +-
.../camel-apns/src/main/docs/apns-component.adoc | 2 +-
.../apache/camel/component/apns/ApnsComponent.java | 2 +-
.../apache/camel/component/apns/ApnsConsumer.java | 2 +-
.../apache/camel/component/apns/ApnsEndpoint.java | 4 +-
.../apache/camel/component/apns/ApnsProducer.java | 2 +-
.../component/apns/factory/ApnsServiceFactory.java | 9 +-
.../factory/ConfiguredApnsServiceFactoryTest.java | 2 +-
.../camel/component/apns/util/ApnsUtils.java | 8 +-
.../apache/camel/component/as2/AS2Component.java | 2 +-
.../apache/camel/component/as2/AS2Consumer.java | 8 +-
.../apache/camel/component/as2/AS2Endpoint.java | 6 +-
.../apache/camel/component/as2/AS2Producer.java | 2 +-
.../as2/internal/AS2PropertiesHelper.java | 2 +-
.../component/as2/AbstractAS2TestSupport.java | 2 +-
.../camel/dataformat/asn1/ASN1MessageIterator.java | 2 +-
.../component/asterisk/AsteriskComponent.java | 2 +-
.../camel/component/asterisk/AsteriskConsumer.java | 2 +-
.../camel/component/asterisk/AsteriskEndpoint.java | 2 +-
.../camel/component/asterisk/AsteriskProducer.java | 2 +-
.../camel/component/atmos/AtmosComponent.java | 2 +-
.../camel/component/atmos/AtmosEndpoint.java | 2 +-
.../consumer/AtmosScheduledPollConsumer.java | 4 +-
.../atmos/integration/producer/AtmosProducer.java | 2 +-
.../atmosphere/websocket/WebsocketProducer.java | 2 +-
.../apache/camel/component/atom/AtomProducer.java | 2 +-
.../apache/camel/component/feed/FeedComponent.java | 3 +-
.../apache/camel/component/feed/FeedEndpoint.java | 2 +-
.../camel/component/feed/FeedPollingConsumer.java | 2 +-
.../atom/AtomEntryPollingConsumerTest.java | 2 +-
.../camel/component/atom/AtomEntrySortTest.java | 2 +-
.../client/AbstractAtomixClientComponent.java | 6 +-
.../client/AbstractAtomixClientConsumer.java | 2 +-
.../client/AbstractAtomixClientEndpoint.java | 2 +-
.../client/AbstractAtomixClientProducer.java | 6 +-
.../atomix/client/AtomixClientHelper.java | 2 +-
.../atomix/cluster/AtomixClusterHelper.java | 2 +-
.../apache/camel/component/avro/AvroComponent.java | 2 +-
.../apache/camel/component/avro/AvroConsumer.java | 2 +-
.../apache/camel/component/avro/AvroEndpoint.java | 2 +-
.../apache/camel/component/avro/AvroListener.java | 2 +-
.../apache/camel/component/avro/AvroProducer.java | 2 +-
.../camel/component/aws/xray/XRayTracer.java | 5 +-
.../aws/xray/component/TestXRayComponent.java | 2 +-
.../aws/xray/component/TestXRayEndpoint.java | 2 +-
.../aws/xray/component/TestXRayProducer.java | 2 +-
.../apache/camel/component/aws/cw/CwComponent.java | 2 +-
.../apache/camel/component/aws/cw/CwEndpoint.java | 2 +-
.../apache/camel/component/aws/cw/CwProducer.java | 2 +-
.../camel/component/aws/ddb/DdbComponent.java | 2 +-
.../camel/component/aws/ddb/DdbEndpoint.java | 2 +-
.../camel/component/aws/ddb/DdbProducer.java | 2 +-
.../aws/ddbstream/DdbStreamComponent.java | 2 +-
.../component/aws/ddbstream/DdbStreamConsumer.java | 2 +-
.../component/aws/ddbstream/DdbStreamEndpoint.java | 2 +-
.../camel/component/aws/ec2/EC2Component.java | 2 +-
.../camel/component/aws/ec2/EC2Endpoint.java | 2 +-
.../camel/component/aws/ec2/EC2Producer.java | 2 +-
.../aws/firehose/KinesisFirehoseComponent.java | 2 +-
.../aws/firehose/KinesisFirehoseEndpoint.java | 2 +-
.../aws/firehose/KinesisFirehoseProducer.java | 2 +-
.../camel/component/aws/iam/IAMComponent.java | 2 +-
.../camel/component/aws/iam/IAMEndpoint.java | 2 +-
.../camel/component/aws/iam/IAMProducer.java | 2 +-
.../component/aws/kinesis/KinesisComponent.java | 2 +-
.../component/aws/kinesis/KinesisConsumer.java | 2 +-
.../component/aws/kinesis/KinesisEndpoint.java | 2 +-
.../component/aws/kinesis/KinesisProducer.java | 2 +-
.../camel/component/aws/kms/KMSComponent.java | 2 +-
.../camel/component/aws/kms/KMSEndpoint.java | 2 +-
.../camel/component/aws/kms/KMSProducer.java | 2 +-
.../component/aws/lambda/LambdaComponent.java | 2 +-
.../camel/component/aws/lambda/LambdaEndpoint.java | 2 +-
.../camel/component/aws/lambda/LambdaProducer.java | 2 +-
.../apache/camel/component/aws/mq/MQComponent.java | 2 +-
.../apache/camel/component/aws/mq/MQEndpoint.java | 2 +-
.../apache/camel/component/aws/mq/MQProducer.java | 2 +-
.../apache/camel/component/aws/s3/S3Component.java | 2 +-
.../apache/camel/component/aws/s3/S3Consumer.java | 2 +-
.../apache/camel/component/aws/s3/S3Endpoint.java | 2 +-
.../apache/camel/component/aws/s3/S3Producer.java | 2 +-
.../camel/component/aws/sdb/SdbComponent.java | 2 +-
.../camel/component/aws/sdb/SdbEndpoint.java | 2 +-
.../camel/component/aws/sdb/SdbProducer.java | 2 +-
.../camel/component/aws/ses/SesComponent.java | 2 +-
.../camel/component/aws/ses/SesEndpoint.java | 2 +-
.../camel/component/aws/ses/SesProducer.java | 2 +-
.../camel/component/aws/sns/SnsComponent.java | 2 +-
.../camel/component/aws/sns/SnsEndpoint.java | 2 +-
.../camel/component/aws/sns/SnsProducer.java | 2 +-
.../camel/component/aws/sqs/SqsComponent.java | 2 +-
.../camel/component/aws/sqs/SqsConsumer.java | 2 +-
.../camel/component/aws/sqs/SqsEndpoint.java | 4 +-
.../camel/component/aws/sqs/SqsProducer.java | 2 +-
.../component/aws/swf/SWFActivityConsumer.java | 2 +-
.../component/aws/swf/SWFActivityProducer.java | 2 +-
.../camel/component/aws/swf/SWFComponent.java | 4 +-
.../camel/component/aws/swf/SWFEndpoint.java | 6 +-
.../component/aws/swf/SWFWorkflowConsumer.java | 2 +-
.../component/aws/swf/SWFWorkflowProducer.java | 4 +-
.../component/aws/common/AwsExchangeUtilTest.java | 2 +-
.../aws/ddb/BatchGetItemsCommandTest.java | 2 +-
.../component/aws/ddb/DeleteItemCommandTest.java | 2 +-
.../component/aws/ddb/DeleteTableCommandTest.java | 2 +-
.../aws/ddb/DescribeTableCommandTest.java | 2 +-
.../component/aws/ddb/GetItemCommandTest.java | 2 +-
.../component/aws/ddb/PutItemCommandTest.java | 2 +-
.../camel/component/aws/ddb/QueryCommandTest.java | 2 +-
.../camel/component/aws/ddb/ScanCommandTest.java | 2 +-
.../component/aws/ddb/UpdateItemCommandTest.java | 2 +-
.../component/aws/ddb/UpdateTableCommandTest.java | 2 +-
.../component/aws/sdb/AbstractSdbCommandTest.java | 2 +-
.../aws/sdb/BatchDeleteAttributesCommandTest.java | 2 +-
.../aws/sdb/BatchPutAttributesCommandTest.java | 2 +-
.../aws/sdb/DeleteAttributesCommandTest.java | 2 +-
.../component/aws/sdb/DeleteDomainCommandTest.java | 2 +-
.../aws/sdb/DomainMetadataCommandTest.java | 2 +-
.../aws/sdb/GetAttributesCommandTest.java | 2 +-
.../component/aws/sdb/ListDomainsCommandTest.java | 2 +-
.../aws/sdb/PutAttributesCommandTest.java | 2 +-
.../camel/component/aws/sdb/SelectCommandTest.java | 2 +-
.../component/azure/blob/BlobServiceComponent.java | 2 +-
.../component/azure/blob/BlobServiceConsumer.java | 2 +-
.../component/azure/blob/BlobServiceEndpoint.java | 2 +-
.../component/azure/blob/BlobServiceProducer.java | 2 +-
.../azure/queue/QueueServiceComponent.java | 2 +-
.../azure/queue/QueueServiceConsumer.java | 2 +-
.../azure/queue/QueueServiceEndpoint.java | 2 +-
.../azure/queue/QueueServiceProducer.java | 2 +-
.../azure/queue/QueueServiceProducerTest.java | 2 +-
.../dataformat/barcode/BarcodeDataFormat.java | 2 +-
.../camel/dataformat/base64/Base64DataFormat.java | 2 +-
.../bean/validator/BeanValidatorComponent.java | 2 +-
.../bean/validator/BeanValidatorEndpoint.java | 4 +-
.../bean/validator/BeanValidatorProducer.java | 2 +-
.../camel/dataformat/beanio/BeanIODataFormat.java | 12 +-
.../camel/dataformat/beanio/BeanIOSplitter.java | 5 +-
.../component/beanstalk/BeanstalkComponent.java | 2 +-
.../component/beanstalk/BeanstalkConsumer.java | 2 +-
.../component/beanstalk/BeanstalkEndpoint.java | 2 +-
.../beanstalk/BeanstalkExchangeHelper.java | 2 +-
.../component/beanstalk/BeanstalkProducer.java | 2 +-
.../beanstalk/processors/DefaultCommand.java | 2 +-
.../beanstalk/processors/TouchCommand.java | 2 +-
.../dataformat/bindy/BindyAbstractFactory.java | 4 +-
.../camel/dataformat/bindy/BindyCsvFactory.java | 14 +-
.../dataformat/bindy/BindyFixedLengthFactory.java | 4 +-
.../dataformat/bindy/csv/BindyCsvDataFormat.java | 15 +-
.../bindy/fixed/BindyFixedLengthDataFormat.java | 18 +-
.../bindy/kvp/BindyKeyValuePairDataFormat.java | 14 +-
.../camel/blueprint/BlueprintCamelContext.java | 2 +-
.../blueprint/BlueprintComponentResolver.java | 2 +-
.../camel/blueprint/BlueprintPropertiesParser.java | 2 +-
.../camel/blueprint/CamelProxyFactoryBean.java | 2 +-
.../blueprint/handler/CamelNamespaceHandler.java | 16 +-
.../camel/component/bonita/BonitaComponent.java | 2 +-
.../camel/component/bonita/BonitaEndpoint.java | 2 +-
.../component/bonita/producer/BonitaProducer.java | 2 +-
.../camel/component/boon/BoonDataFormat.java | 5 +-
.../apache/camel/component/box/BoxComponent.java | 2 +-
.../camel/component/box/BoxConfiguration.java | 2 +-
.../apache/camel/component/box/BoxConsumer.java | 12 +-
.../apache/camel/component/box/BoxEndpoint.java | 6 +-
.../apache/camel/component/box/BoxProducer.java | 2 +-
.../box/internal/BoxConnectionHelper.java | 7 +-
.../box/internal/BoxPropertiesHelper.java | 2 +-
.../component/box/AbstractBoxTestSupport.java | 2 +-
.../component/braintree/BraintreeComponent.java | 2 +-
.../component/braintree/BraintreeConsumer.java | 2 +-
.../component/braintree/BraintreeEndpoint.java | 6 +-
.../component/braintree/BraintreeProducer.java | 2 +-
.../internal/BraintreePropertiesHelper.java | 2 +-
.../braintree/AbstractBraintreeTestSupport.java | 4 +-
.../caffeine/cache/CaffeineCacheComponent.java | 2 +-
.../caffeine/cache/CaffeineCacheEndpoint.java | 2 +-
.../caffeine/load/CaffeineLoadCacheComponent.java | 2 +-
.../caffeine/load/CaffeineLoadCacheEndpoint.java | 2 +-
.../aggregate/CaffeineAggregationRepository.java | 2 +-
...CaffeineAggregationRepositoryOperationTest.java | 2 +-
.../component/cassandra/CassandraComponent.java | 4 +-
.../component/cassandra/CassandraConsumer.java | 2 +-
.../component/cassandra/CassandraEndpoint.java | 4 +-
.../component/cassandra/CassandraProducer.java | 4 +-
.../aggregate/cassandra/CassandraCamelCodec.java | 2 +-
.../CassandraAggregationRepositoryTest.java | 2 +-
.../NamedCassandraAggregationRepositoryTest.java | 2 +-
.../org/apache/camel/cdi/CamelContextProducer.java | 2 +-
.../org/apache/camel/cdi/CdiCamelInjector.java | 5 -
.../org/apache/camel/cdi/CdiEventComponent.java | 2 +-
.../org/apache/camel/cdi/CdiEventConsumer.java | 2 +-
.../org/apache/camel/cdi/CdiEventEndpoint.java | 2 +-
.../org/apache/camel/cdi/CdiEventProducer.java | 2 +-
.../org/apache/camel/cdi/XmlProxyFactoryBean.java | 2 +-
.../apache/camel/cdi/XmlServiceExporterBean.java | 4 +-
.../transaction/JtaTransactionErrorHandler.java | 2 +-
.../JtaTransactionErrorHandlerBuilder.java | 2 +-
.../cdi/transaction/JtaTransactionPolicy.java | 3 +-
.../cdi/transaction/TransactionErrorHandler.java | 4 +-
.../cdi/bean/CustomLifecycleCamelContext.java | 6 +-
.../camel/cdi/expression/ExchangeExpression.java | 2 +-
.../chronicle/engine/ChronicleEngineComponent.java | 2 +-
.../chronicle/engine/ChronicleEngineConsumer.java | 2 +-
.../chronicle/engine/ChronicleEngineEndpoint.java | 2 +-
.../camel/component/chunk/ChunkComponent.java | 2 +-
.../camel/component/chunk/ChunkEndpoint.java | 2 +-
.../org/apache/camel/component/cm/CMComponent.java | 2 +-
.../org/apache/camel/component/cm/CMEndpoint.java | 2 +-
.../org/apache/camel/component/cm/CMProducer.java | 2 +-
.../apache/camel/component/cmis/CMISComponent.java | 2 +-
.../apache/camel/component/cmis/CMISConsumer.java | 2 +-
.../apache/camel/component/cmis/CMISEndpoint.java | 2 +-
.../apache/camel/component/cmis/CMISProducer.java | 6 +-
.../camel/component/cmis/CMISQueryProducer.java | 2 +-
.../cmis/DefaultCMISSessionFacadeFactory.java | 2 +-
.../camel/component/cmis/CMISTestSupport.java | 2 +-
.../java/org/apache/camel/coap/CoAPComponent.java | 2 +-
.../java/org/apache/camel/coap/CoAPConsumer.java | 2 +-
.../java/org/apache/camel/coap/CoAPEndpoint.java | 2 +-
.../java/org/apache/camel/coap/CoAPProducer.java | 2 +-
.../src/main/docs/cometd-component.adoc | 2 +-
.../camel/component/cometd/CometdBinding.java | 2 +-
.../camel/component/cometd/CometdComponent.java | 4 +-
.../camel/component/cometd/CometdConsumer.java | 4 +-
.../camel/component/cometd/CometdEndpoint.java | 2 +-
.../camel/component/cometd/CometdProducer.java | 2 +-
...CometdProducerConsumerInOutInteractiveMain.java | 2 +-
...ontextParametersCometdProducerConsumerTest.java | 8 +-
...tParametersInUriCometdProducerConsumerTest.java | 8 +-
...ontextParametersCometdProducerConsumerTest.java | 8 +-
.../src/main/docs/consul-component.adoc | 6 +-
.../consul/ConsulClientConfiguration.java | 4 +-
.../camel/component/consul/ConsulComponent.java | 6 +-
.../camel/component/consul/ConsulEndpoint.java | 2 +-
.../consul/cloud/ConsulServiceDiscovery.java | 3 +-
.../cloud/ConsulServiceDiscoveryFactory.java | 2 +-
.../consul/cloud/ConsulServiceRegistry.java | 2 +-
.../consul/cluster/ConsulClusterService.java | 2 +-
.../consul/endpoint/AbstractConsulConsumer.java | 2 +-
.../consul/health/ConsulHealthCheckRepository.java | 3 +-
.../camel/core/osgi/OsgiComponentResolver.java | 6 +-
.../camel/core/osgi/OsgiDataFormatResolver.java | 6 +-
.../camel/core/osgi/OsgiDefaultCamelContext.java | 2 +-
.../camel/core/osgi/OsgiLanguageResolver.java | 8 +-
.../camel/core/osgi/OsgiServiceRegistry.java | 6 +-
.../apache/camel/core/osgi/OsgiTypeConverter.java | 2 +-
.../camel/core/osgi/utils/BundleContextUtils.java | 4 +-
.../AbstractCamelConsumerTemplateFactoryBean.java | 2 +-
.../core/xml/AbstractCamelContextFactoryBean.java | 21 +-
...ractCamelFluentProducerTemplateFactoryBean.java | 2 +-
.../AbstractCamelProducerTemplateFactoryBean.java | 2 +-
.../AbstractCamelRedeliveryPolicyFactoryBean.java | 2 +-
.../xml/AbstractCamelThreadPoolFactoryBean.java | 4 +-
...bstractBaseSSLContextParametersFactoryBean.java | 8 +-
.../AbstractKeyManagersParametersFactoryBean.java | 2 +-
.../AbstractKeyStoreParametersFactoryBean.java | 2 +-
...tractSSLContextClientParametersFactoryBean.java | 2 +-
.../AbstractSSLContextParametersFactoryBean.java | 2 +-
...tractSSLContextServerParametersFactoryBean.java | 2 +-
.../AbstractSecureRandomParametersFactoryBean.java | 2 +-
...AbstractTrustManagersParametersFactoryBean.java | 4 +-
.../xml/AbstractCamelContextFactoryBeanTest.java | 14 +-
.../component/couchbase/CouchbaseComponent.java | 2 +-
.../component/couchbase/CouchbaseConsumer.java | 2 +-
.../component/couchbase/CouchbaseEndpoint.java | 2 +-
.../component/couchbase/CouchbaseProducer.java | 2 +-
.../camel/component/couchdb/CouchDbComponent.java | 2 +-
.../camel/component/couchdb/CouchDbConsumer.java | 2 +-
.../camel/component/couchdb/CouchDbEndpoint.java | 2 +-
.../camel/component/couchdb/CouchDbProducer.java | 2 +-
.../src/main/docs/crypto-cms-component.adoc | 10 +-
.../component/crypto/cms/CryptoCmsComponent.java | 2 +-
.../component/crypto/cms/CryptoCmsEndpoint.java | 2 +-
.../component/crypto/cms/CryptoCmsProducer.java | 2 +-
.../cms/common/DefaultCryptoCmsConfiguration.java | 2 +-
...DefaultEnvelopedDataDecryptorConfiguration.java | 2 +-
.../camel/component/crypto/cms/ComponentTest.java | 2 +-
.../component/crypto/cms/EnvelopedDataTest.java | 2 +-
.../camel/component/crypto/cms/ProcessorsTest.java | 4 +-
.../camel/component/crypto/cms/SignedDataTest.java | 2 +-
.../component/crypto/cms/util/ExchangeUtil.java | 4 +-
.../component/crypto/cms/util/KeystoreUtil.java | 2 +-
.../util/TestOriginatorInformationProvider.java | 2 +-
.../crypto/DigitalSignatureComponent.java | 2 +-
.../crypto/DigitalSignatureConfiguration.java | 2 +-
.../component/crypto/DigitalSignatureEndpoint.java | 2 +-
.../component/crypto/DigitalSignatureProducer.java | 2 +-
.../processor/DigitalSignatureProcessor.java | 2 +-
.../crypto/processor/VerifyingProcessor.java | 2 +-
.../camel/converter/crypto/CryptoDataFormat.java | 2 +-
.../camel/converter/crypto/PGPDataFormatUtil.java | 2 +-
.../converter/crypto/PGPKeyAccessDataFormat.java | 2 +-
.../camel/component/crypto/SignatureTests.java | 2 +-
.../apache/camel/dataformat/csv/CsvMarshaller.java | 6 +-
.../camel/dataformat/csv/CsvUnmarshaller.java | 5 +-
.../component/cxf/transport/CamelDestination.java | 2 +-
.../cxf/common/header/CxfHeaderHelperTest.java | 2 +-
.../cxf/common/message/CxfMessageHelperTest.java | 2 +-
.../cxf/transport/CamelDestinationTest.java | 2 +-
.../apache/camel/component/cxf/CxfComponent.java | 6 +-
.../apache/camel/component/cxf/CxfConsumer.java | 2 +-
.../apache/camel/component/cxf/CxfEndpoint.java | 8 +-
.../apache/camel/component/cxf/CxfProducer.java | 4 +-
.../camel/component/cxf/DefaultCxfBinding.java | 4 +-
.../component/cxf/SslCxfEndpointConfigurer.java | 2 +-
.../cxf/common/AbstractSslEndpointConfigurer.java | 2 +-
.../component/cxf/converter/CxfConverter.java | 4 +-
.../camel/component/cxf/jaxrs/CxfRsComponent.java | 4 +-
.../camel/component/cxf/jaxrs/CxfRsConsumer.java | 2 +-
.../camel/component/cxf/jaxrs/CxfRsEndpoint.java | 10 +-
.../camel/component/cxf/jaxrs/CxfRsProducer.java | 10 +-
.../component/cxf/jaxrs/DefaultCxfRsBinding.java | 2 +-
.../component/cxf/jaxrs/SimpleCxfRsBinding.java | 2 +-
.../cxf/jaxrs/SslCxfRsEndpointConfigurer.java | 2 +-
.../apache/camel/component/cxf/util/CxfUtils.java | 2 +-
.../cxf/CxfConsumerContinuationTimeoutTest.java | 2 +-
.../component/cxf/CxfConsumerPayloadXPathTest.java | 2 +-
.../camel/component/cxf/CxfProducerRouterTest.java | 2 +-
.../component/cxf/CxfRawMessageRouterTest.java | 2 +-
.../camel/component/cxf/DefaultCxfBindingTest.java | 8 +-
.../component/cxf/converter/ConverterTest.java | 2 +-
.../cxf/jaxrs/CxfRsGlobalSslProducerTest.java | 2 +-
.../cxf/jaxrs/DefaultCxfRsBindingTest.java | 10 +-
.../soap/headers/CxfMessageHeadersRelayTest.java | 2 +-
.../camel/component/cxf/ssl/SslGlobalTest.java | 2 +-
.../digitalocean/DigitalOceanComponent.java | 2 +-
.../digitalocean/DigitalOceanEndpoint.java | 2 +-
.../producer/DigitalOceanProducer.java | 2 +-
.../disruptor/AbstractSynchronizedExchange.java | 2 +-
.../component/disruptor/DisruptorComponent.java | 2 +-
.../component/disruptor/DisruptorConsumer.java | 4 +-
.../component/disruptor/DisruptorEndpoint.java | 2 +-
.../component/disruptor/DisruptorProducer.java | 4 +-
.../MultipleConsumerSynchronizedExchange.java | 2 +-
.../SingleConsumerSynchronizedExchange.java | 2 +-
.../DisruptorConsumerSuspendResumeTest.java | 2 +-
.../apache/camel/component/dns/DnsComponent.java | 2 +-
.../apache/camel/component/dns/DnsDigProducer.java | 2 +-
.../apache/camel/component/dns/DnsEndpoint.java | 2 +-
.../apache/camel/component/dns/DnsIpProducer.java | 2 +-
.../camel/component/dns/DnsLookupProducer.java | 2 +-
.../camel/component/dns/DnsWikipediaProducer.java | 2 +-
.../component/docker/DockerClientFactory.java | 6 +-
.../camel/component/docker/DockerComponent.java | 4 +-
.../camel/component/docker/DockerEndpoint.java | 2 +-
.../docker/consumer/DockerEventsConsumer.java | 2 +-
.../docker/consumer/DockerStatsConsumer.java | 2 +-
.../docker/producer/AsyncDockerProducer.java | 2 +-
.../component/docker/producer/DockerProducer.java | 2 +-
.../component/docker/DockerConfigurationTest.java | 2 +-
.../component/docker/it/DockerITTestSupport.java | 2 +-
.../camel/component/dozer/DozerComponent.java | 4 +-
.../camel/component/dozer/DozerEndpoint.java | 4 +-
.../camel/component/dozer/DozerProducer.java | 2 +-
.../camel/component/dozer/ExpressionMapper.java | 2 +-
.../converter/dozer/DozerTypeConverterLoader.java | 10 +-
.../camel/component/drill/DrillComponent.java | 2 +-
.../camel/component/drill/DrillEndpoint.java | 2 +-
.../camel/component/drill/DrillProducer.java | 2 +-
.../camel/component/dropbox/DropboxComponent.java | 2 +-
.../camel/component/dropbox/DropboxEndpoint.java | 2 +-
.../consumer/DropboxScheduledPollConsumer.java | 2 +-
.../integration/producer/DropboxProducer.java | 2 +-
.../camel/component/ehcache/EhcacheComponent.java | 4 +-
.../camel/component/ehcache/EhcacheConsumer.java | 2 +-
.../camel/component/ehcache/EhcacheEndpoint.java | 2 +-
.../aggregate/EhcacheAggregationRepository.java | 2 +-
.../EhcacheAggregationRepositoryOperationTest.java | 2 +-
.../elasticsearch/ElasticsearchComponent.java | 2 +-
.../elasticsearch/ElasticsearchEndpoint.java | 2 +-
.../elasticsearch/ElasticsearchProducer.java | 2 +-
.../camel/component/elsql/ElsqlComponent.java | 5 +-
.../camel/component/elsql/ElsqlEndpoint.java | 6 +-
.../camel/component/elsql/ElsqlProducer.java | 2 +-
.../camel-etcd/src/main/docs/etcd-component.adoc | 2 +-
.../camel/component/etcd/AbstractEtcdConsumer.java | 2 +-
.../camel/component/etcd/AbstractEtcdEndpoint.java | 2 +-
.../etcd/AbstractEtcdPollingConsumer.java | 2 +-
.../etcd/AbstractEtcdPollingEndpoint.java | 2 +-
.../camel/component/etcd/AbstractEtcdProducer.java | 2 +-
.../apache/camel/component/etcd/EtcdComponent.java | 4 +-
.../camel/component/etcd/EtcdConfiguration.java | 2 +-
.../etcd/cloud/EtcdServiceDiscoveryFactory.java | 2 +-
.../component/eventadmin/EventAdminComponent.java | 2 +-
.../component/eventadmin/EventAdminConsumer.java | 2 +-
.../component/eventadmin/EventAdminEndpoint.java | 2 +-
.../component/eventadmin/EventAdminProducer.java | 4 +-
.../apache/camel/component/exec/ExecComponent.java | 2 +-
.../apache/camel/component/exec/ExecEndpoint.java | 2 +-
.../apache/camel/component/exec/ExecProducer.java | 2 +-
.../component/facebook/FacebookComponent.java | 4 +-
.../camel/component/facebook/FacebookConsumer.java | 5 +-
.../camel/component/facebook/FacebookEndpoint.java | 4 +-
.../camel/component/facebook/FacebookProducer.java | 5 +-
.../facebook/data/FacebookPropertiesHelper.java | 2 +-
.../facebook/CamelFacebookTestSupport.java | 2 +-
.../facebook/FacebookComponentConsumerTest.java | 4 +-
.../apache/camel/component/fhir/FhirComponent.java | 2 +-
.../apache/camel/component/fhir/FhirConsumer.java | 2 +-
.../apache/camel/component/fhir/FhirEndpoint.java | 6 +-
.../apache/camel/component/fhir/FhirProducer.java | 2 +-
.../fhir/internal/FhirPropertiesHelper.java | 2 +-
.../component/fhir/AbstractFhirTestSupport.java | 2 +-
.../component/flatpack/FlatpackComponent.java | 2 +-
.../camel/component/flatpack/FlatpackEndpoint.java | 8 +-
.../camel/component/flatpack/FlatpackProducer.java | 2 +-
.../dataformat/flatpack/FlatpackDataFormat.java | 20 +-
.../component/flink/DataSetFlinkProducer.java | 2 +-
.../component/flink/DataStreamFlinkProducer.java | 2 +-
.../camel/component/flink/FlinkComponent.java | 2 +-
.../camel/component/flink/FlinkEndpoint.java | 2 +-
.../apache/camel/component/fop/FopComponent.java | 2 +-
.../apache/camel/component/fop/FopEndpoint.java | 4 +-
.../apache/camel/component/fop/FopProducer.java | 4 +-
.../camel/component/fop/FopEndpointTest.java | 2 +-
.../component/freemarker/FreemarkerComponent.java | 4 +-
.../component/freemarker/FreemarkerEndpoint.java | 2 +-
.../remote/DefaultFtpClientActivityListener.java | 2 +-
.../camel/component/file/remote/FtpComponent.java | 2 +-
.../camel/component/file/remote/FtpEndpoint.java | 2 +-
.../camel/component/file/remote/FtpOperations.java | 16 +-
.../camel/component/file/remote/FtpsComponent.java | 2 +-
.../camel/component/file/remote/FtpsEndpoint.java | 2 +-
.../RemoteFilePollingConsumerPollStrategy.java | 2 +-
.../component/file/remote/SftpOperations.java | 2 +-
.../FtpChangedExclusiveReadLockStrategy.java | 2 +-
.../SftpChangedExclusiveReadLockStrategy.java | 2 +-
...LWithClientAuthAndSSLContextParametersTest.java | 8 +-
...lientAuthAndGlobalSSLContextParametersTest.java | 6 +-
...thoutClientAuthAndSSLContextParametersTest.java | 6 +-
...SWithClientAuthAndSSLContextParametersTest.java | 8 +-
...thoutClientAuthAndSSLContextParametersTest.java | 6 +-
...LWithClientAuthAndSSLContextParametersTest.java | 8 +-
...thoutClientAuthAndSSLContextParametersTest.java | 6 +-
...SWithClientAuthAndSSLContextParametersTest.java | 8 +-
...thoutClientAuthAndSSLContextParametersTest.java | 6 +-
.../FtpPollEnrichBridgeErrorHandlerTest.java | 2 +-
.../camel/component/ganglia/GangliaComponent.java | 2 +-
.../camel/component/ganglia/GangliaEndpoint.java | 2 +-
.../camel/component/ganglia/GangliaProducer.java | 2 +-
.../component/geocoder/GeoCoderComponent.java | 2 +-
.../camel/component/geocoder/GeoCoderEndpoint.java | 2 +-
.../camel/component/geocoder/GeoCoderProducer.java | 2 +-
.../apache/camel/component/git/GitComponent.java | 2 +-
.../apache/camel/component/git/GitEndpoint.java | 2 +-
.../git/consumer/AbstractGitConsumer.java | 2 +-
.../camel/component/git/producer/GitProducer.java | 4 +-
.../camel/component/github/GitHubComponent.java | 2 +-
.../camel/component/github/GitHubEndpoint.java | 2 +-
.../github/consumer/AbstractGitHubConsumer.java | 2 +-
.../github/producer/AbstractGitHubProducer.java | 2 +-
.../google/bigquery/GoogleBigQueryComponent.java | 2 +-
.../google/bigquery/GoogleBigQueryEndpoint.java | 2 +-
.../google/bigquery/GoogleBigQueryProducer.java | 2 +-
.../google/bigquery/integration/AsyncTest.java | 2 +-
.../bigquery/integration/DynamicTableIdTest.java | 2 +-
.../google/bigquery/integration/InsertIdTest.java | 2 +-
.../google/bigquery/integration/SingleRowTest.java | 2 +-
.../google/calendar/GoogleCalendarComponent.java | 2 +-
.../google/calendar/GoogleCalendarConsumer.java | 4 +-
.../google/calendar/GoogleCalendarEndpoint.java | 6 +-
.../google/calendar/GoogleCalendarProducer.java | 6 +-
.../internal/GoogleCalendarPropertiesHelper.java | 2 +-
.../stream/GoogleCalendarStreamComponent.java | 2 +-
.../stream/GoogleCalendarStreamConsumer.java | 2 +-
.../stream/GoogleCalendarStreamEndpoint.java | 6 +-
.../AbstractGoogleCalendarTestSupport.java | 2 +-
.../AbstractGoogleCalendarStreamTestSupport.java | 2 +-
.../google/drive/GoogleDriveComponent.java | 2 +-
.../google/drive/GoogleDriveConsumer.java | 4 +-
.../google/drive/GoogleDriveEndpoint.java | 6 +-
.../google/drive/GoogleDriveProducer.java | 6 +-
.../internal/GoogleDrivePropertiesHelper.java | 2 +-
.../drive/AbstractGoogleDriveTestSupport.java | 2 +-
.../component/google/mail/GoogleMailComponent.java | 2 +-
.../component/google/mail/GoogleMailConsumer.java | 4 +-
.../component/google/mail/GoogleMailEndpoint.java | 6 +-
.../component/google/mail/GoogleMailProducer.java | 6 +-
.../mail/internal/GoogleMailPropertiesHelper.java | 2 +-
.../mail/stream/GoogleMailStreamComponent.java | 2 +-
.../mail/stream/GoogleMailStreamConsumer.java | 2 +-
.../mail/stream/GoogleMailStreamEndpoint.java | 2 +-
.../google/mail/AbstractGoogleMailTestSupport.java | 2 +-
.../AbstractGoogleMailStreamTestSupport.java | 2 +-
.../google/pubsub/GooglePubsubComponent.java | 2 +-
.../google/pubsub/GooglePubsubConsumer.java | 2 +-
.../google/pubsub/GooglePubsubEndpoint.java | 2 +-
.../google/pubsub/GooglePubsubProducer.java | 2 +-
.../google/pubsub/integration/AckModeNoneTest.java | 2 +-
.../pubsub/integration/AcknowledgementTest.java | 2 +-
.../google/pubsub/integration/BodyTypesTest.java | 2 +-
.../integration/GroupedExchangeRoundtripTest.java | 2 +-
.../integration/SingleExchangeRoundtripTest.java | 2 +-
.../apache/camel/component/gora/GoraComponent.java | 2 +-
.../apache/camel/component/gora/GoraConsumer.java | 2 +-
.../apache/camel/component/gora/GoraEndpoint.java | 2 +-
.../apache/camel/component/gora/GoraProducer.java | 4 +-
.../camel/component/grape/GrapeComponent.groovy | 2 +-
.../camel/component/grape/GrapeEndpoint.groovy | 2 +-
.../camel/component/grape/GrapeProducer.groovy | 2 +-
.../camel/language/groovy/GroovyExpression.java | 2 +-
.../camel/language/groovy/GroovyLanguage.java | 2 +-
.../language/groovy/GroovyExpressionTest.java | 2 +-
.../language/groovy/GroovyShellFactoryTest.java | 2 +-
.../apache/camel/component/grpc/GrpcComponent.java | 2 +-
.../apache/camel/component/grpc/GrpcConsumer.java | 4 +-
.../apache/camel/component/grpc/GrpcEndpoint.java | 2 +-
.../apache/camel/component/grpc/GrpcProducer.java | 4 +-
.../org/apache/camel/component/grpc/GrpcUtils.java | 8 +-
.../client/GrpcResponseRouterStreamObserver.java | 2 +-
.../camel/component/gson/GsonDataFormat.java | 5 +-
.../guava/eventbus/CamelEventHandler.java | 2 +-
.../guava/eventbus/GuavaEventBusComponent.java | 2 +-
.../guava/eventbus/GuavaEventBusConsumer.java | 2 +-
.../guava/eventbus/GuavaEventBusEndpoint.java | 4 +-
.../guava/eventbus/GuavaEventBusProducer.java | 2 +-
.../hazelcast/HazelcastDefaultComponent.java | 4 +-
.../hazelcast/HazelcastDefaultConsumer.java | 2 +-
.../hazelcast/HazelcastDefaultEndpoint.java | 2 +-
.../hazelcast/HazelcastDefaultProducer.java | 2 +-
.../instance/HazelcastInstanceConsumer.java | 4 +-
.../hazelcast/seda/HazelcastSedaConsumer.java | 4 +-
.../hazelcast/seda/HazelcastSedaProducer.java | 2 +-
.../hazelcast/HazelcastAggregationRepository.java | 2 +-
...lcastAggregationRepositoryConstructorsTest.java | 2 +-
.../camel/component/hbase/HBaseComponent.java | 4 +-
.../camel/component/hbase/HBaseConsumer.java | 2 +-
.../camel/component/hbase/HBaseEndpoint.java | 2 +-
.../camel/component/hbase/HBaseProducer.java | 2 +-
.../camel/component/hdfs2/HdfsComponent.java | 2 +-
.../apache/camel/component/hdfs2/HdfsConsumer.java | 4 +-
.../apache/camel/component/hdfs2/HdfsEndpoint.java | 3 +-
.../apache/camel/component/hdfs2/HdfsProducer.java | 2 +-
.../camel/component/hdfs2/HdfsConsumerTest.java | 2 +-
.../camel/component/hipchat/HipchatComponent.java | 2 +-
.../camel/component/hipchat/HipchatConsumer.java | 2 +-
.../camel/component/hipchat/HipchatEndpoint.java | 2 +-
.../camel/component/hipchat/HipchatProducer.java | 2 +-
.../apache/camel/component/hl7/AckExpression.java | 4 +-
.../org/apache/camel/component/hl7/HL7Charset.java | 4 +-
.../apache/camel/component/hl7/HL7DataFormat.java | 7 +-
.../apache/camel/component/hl7/TerserLanguage.java | 5 +-
.../component/hl7/ValidationContextPredicate.java | 4 +-
.../camel/http/common/DefaultHttpBinding.java | 13 +-
.../camel/http/common/HttpCommonComponent.java | 2 +-
.../camel/http/common/HttpCommonEndpoint.java | 2 +-
.../org/apache/camel/http/common/HttpConsumer.java | 2 +-
.../apache/camel/http/common/HttpConverter.java | 2 +-
.../org/apache/camel/http/common/HttpHelper.java | 4 +-
.../org/apache/camel/http/common/HttpMessage.java | 2 +-
.../camel-http4/src/main/docs/http4-component.adoc | 6 +-
.../camel/component/http4/HttpComponent.java | 10 +-
.../camel/component/http4/HttpEntityConverter.java | 4 +-
.../camel/component/http4/HttpPollingConsumer.java | 2 +-
.../apache/camel/component/http4/HttpProducer.java | 12 +-
.../http4/HttpCustomComponentNameTest.java | 2 +-
.../http4/HttpHeaderFilterStrategyTest.java | 2 +-
.../http4/HttpsSslContextParametersGetTest.java | 2 +-
...psTwoComponentsSslContextParametersGetTest.java | 2 +-
...tpsTwoDifferentSslContextParametersGetTest.java | 2 +-
.../component/http4/helper/HttpHelperTest.java | 2 +-
.../hystrix/processor/HystrixProcessor.java | 4 +-
.../hystrix/processor/HystrixProcessorCommand.java | 2 +-
.../hystrix/processor/HystrixProcessorFactory.java | 6 +-
.../apache/camel/component/ical/ICalConverter.java | 4 +-
.../component/iec60870/AbstractIecComponent.java | 2 +-
.../component/iec60870/AbstractIecEndpoint.java | 4 +-
.../component/iec60870/client/ClientConsumer.java | 4 +-
.../component/iec60870/client/ClientEndpoint.java | 2 +-
.../component/iec60870/client/ClientProducer.java | 2 +-
.../component/iec60870/server/ServerConsumer.java | 4 +-
.../component/iec60870/server/ServerEndpoint.java | 2 +-
.../component/iec60870/server/ServerProducer.java | 2 +-
.../component/ignite/AbstractIgniteComponent.java | 2 +-
.../component/ignite/AbstractIgniteEndpoint.java | 2 +-
.../cache/IgniteCacheContinuousQueryConsumer.java | 2 +-
.../ignite/cache/IgniteCacheProducer.java | 4 +-
.../ignite/compute/IgniteComputeProducer.java | 4 +-
.../ignite/events/IgniteEventsConsumer.java | 2 +-
.../ignite/idgen/IgniteIdGenProducer.java | 4 +-
.../ignite/messaging/IgniteMessagingConsumer.java | 2 +-
.../ignite/messaging/IgniteMessagingProducer.java | 4 +-
.../ignite/queue/IgniteQueueEndpoint.java | 4 +-
.../ignite/queue/IgniteQueueProducer.java | 4 +-
.../component/ignite/set/IgniteSetEndpoint.java | 4 +-
.../component/ignite/set/IgniteSetProducer.java | 4 +-
.../component/infinispan/InfinispanComponent.java | 2 +-
.../component/infinispan/InfinispanConsumer.java | 2 +-
.../component/infinispan/InfinispanEndpoint.java | 2 +-
.../camel/component/infinispan/InfinispanUtil.java | 2 +-
.../InfinispanLocalAggregationRepository.java | 2 +-
.../InfinispanRemoteAggregationRepository.java | 2 +-
.../policy/InfinispanRoutePolicyTestBase.java | 2 +-
...anLocalAggregationRepositoryOperationsTest.java | 2 +-
.../component/influxdb/InfluxDbComponent.java | 4 +-
.../camel/component/influxdb/InfluxDbEndpoint.java | 4 +-
.../camel/component/influxdb/InfluxDbProducer.java | 4 +-
.../camel-irc/src/main/docs/irc-component.adoc | 2 +-
.../camel/component/irc/CamelSSLIRCConnection.java | 2 +-
.../apache/camel/component/irc/IrcComponent.java | 4 +-
.../camel/component/irc/IrcConfiguration.java | 4 +-
.../apache/camel/component/irc/IrcConsumer.java | 2 +-
.../apache/camel/component/irc/IrcEndpoint.java | 2 +-
.../org/apache/camel/component/irc/IrcMessage.java | 4 +-
.../apache/camel/component/irc/IrcProducer.java | 2 +-
.../irc/IrcsWithSslContextParamsRouteTest.java | 6 +-
.../camel/component/ironmq/IronMQComponent.java | 4 +-
.../camel/component/ironmq/IronMQConsumer.java | 4 +-
.../camel/component/ironmq/IronMQEndpoint.java | 4 +-
.../camel/component/ironmq/IronMQProducer.java | 2 +-
.../camel/component/jackson/JacksonDataFormat.java | 14 +-
.../component/jackson/JacksonDataFormatTest.java | 2 +-
.../converter/JacksonConversionsSimpleTest.java | 2 +-
.../component/jacksonxml/JacksonXMLDataFormat.java | 14 +-
.../jacksonxml/JacksonConversionsSimpleTest.java | 2 +-
.../converter/jaxb/FallbackTypeConverter.java | 3 +-
.../camel/converter/jaxb/JaxbDataFormat.java | 7 +-
.../camel/converter/jaxb/JaxbDataFormatTest.java | 2 +-
.../camel/jaxb/CamelJaxbFallbackConverterTest.java | 2 +-
.../apache/camel/component/jbpm/JBPMComponent.java | 2 +-
.../apache/camel/component/jbpm/JBPMEndpoint.java | 2 +-
.../apache/camel/component/jbpm/JBPMProducer.java | 4 +-
.../camel/component/jcache/JCacheComponent.java | 2 +-
.../component/jcache/JCacheConfiguration.java | 2 +-
.../camel/component/jcache/JCacheConsumer.java | 2 +-
.../camel/component/jcache/JCacheEndpoint.java | 2 +-
.../camel/component/jcache/JCacheProducer.java | 2 +-
.../aggregate/JCacheAggregationRepository.java | 2 +-
.../aggregate/JCacheAggregationRepositoryTest.java | 2 +-
.../jclouds/JcloudsBlobStoreConsumer.java | 2 +-
.../camel/component/jclouds/JcloudsComponent.java | 2 +-
.../camel/component/jclouds/JcloudsConsumer.java | 2 +-
.../camel/component/jclouds/JcloudsEndpoint.java | 2 +-
.../component/jclouds/JcloudsPayloadConverter.java | 4 +-
.../camel/component/jclouds/JcloudsProducer.java | 2 +-
.../jclouds/JcloudsBlobStoreProducerTest.java | 2 +-
.../camel/component/jcr/EndpointEventListener.java | 2 +-
.../apache/camel/component/jcr/JcrComponent.java | 2 +-
.../apache/camel/component/jcr/JcrConsumer.java | 2 +-
.../apache/camel/component/jcr/JcrEndpoint.java | 2 +-
.../apache/camel/component/jcr/JcrProducer.java | 2 +-
.../camel/component/jcr/JcrConverterTest.java | 18 +-
.../apache/camel/component/jdbc/JdbcComponent.java | 6 +-
.../apache/camel/component/jdbc/JdbcEndpoint.java | 2 +-
.../apache/camel/component/jdbc/JdbcProducer.java | 4 +-
.../component/jetty/CamelContinuationServlet.java | 2 +-
.../component/jetty/DefaultJettyHttpBinding.java | 2 +-
.../camel/component/jetty/JettyHttpComponent.java | 6 +-
.../camel/component/jetty/JettyHttpEndpoint.java | 4 +-
.../camel/component/jetty/JettyHttpProducer.java | 10 +-
.../src/main/docs/jetty-component.adoc | 2 +-
.../component/jetty9/AttachmentHttpBinding.java | 2 +-
.../component/jetty9/JettyHttpComponent9.java | 6 +-
.../component/jetty/ExcludeCipherSuitesTest.java | 8 +-
...ExplicitHttpsSslContextParametersRouteTest.java | 6 +-
.../jetty/HttpProxyRouteContentTypeTest.java | 2 +-
.../camel/component/jetty/HttpsRouteAliasTest.java | 6 +-
...psRouteSslContextParametersInComponentTest.java | 6 +-
.../HttpsRouteSslContextParametersInUriTest.java | 6 +-
.../component/jetty/JettyContentTypeTest.java | 4 +-
.../camel/component/jetty/JettyImageFileTest.java | 2 +-
.../component/jetty/async/MyAsyncComponent.java | 2 +-
.../component/jetty/async/MyAsyncEndpoint.java | 2 +-
.../component/jetty/async/MyAsyncProducer.java | 2 +-
.../JettyHttpsProducerSslContextInUriTest.java | 6 +-
.../component/jgroups/CamelJGroupsReceiver.java | 2 +-
.../camel/component/jgroups/JGroupsComponent.java | 2 +-
.../camel/component/jgroups/JGroupsConsumer.java | 2 +-
.../camel/component/jgroups/JGroupsEndpoint.java | 2 +-
.../camel/component/jgroups/JGroupsProducer.java | 2 +-
.../component/validator/jing/JingComponent.java | 2 +-
.../component/validator/jing/JingEndpoint.java | 4 +-
.../component/validator/jing/JingValidator.java | 4 +-
.../component/jms/EndpointMessageListener.java | 4 +-
.../org/apache/camel/component/jms/JmsBinding.java | 12 +-
.../apache/camel/component/jms/JmsConsumer.java | 2 +-
.../apache/camel/component/jms/JmsEndpoint.java | 4 +-
.../org/apache/camel/component/jms/JmsMessage.java | 4 +-
.../camel/component/jms/JmsMessageHelper.java | 2 +-
.../camel/component/jms/JmsPollingConsumer.java | 2 +-
.../apache/camel/component/jms/JmsProducer.java | 7 +-
.../component/jms/reply/ReplyManagerSupport.java | 4 +-
.../component/jms/ConsumeJmsBytesMessageTest.java | 2 +-
.../component/jms/ConsumeJmsMapMessageTest.java | 2 +-
.../component/jms/ConsumeJmsObjectMessageTest.java | 2 +-
.../component/jms/async/MyAsyncComponent.java | 2 +-
.../camel/component/jms/async/MyAsyncEndpoint.java | 2 +-
.../camel/component/jms/async/MyAsyncProducer.java | 2 +-
.../apache/camel/component/jmx/JMXComponent.java | 6 +-
.../apache/camel/component/jmx/JMXConsumer.java | 4 +-
.../apache/camel/component/jmx/JMXEndpoint.java | 2 +-
.../component/johnzon/JohnzonDataFormatTest.java | 2 +-
.../apache/camel/component/jolt/JoltComponent.java | 4 +-
.../camel/component/jolt/JoltFirstSampleTest.java | 2 +-
.../apache/camel/component/jpa/JpaComponent.java | 2 +-
.../apache/camel/component/jpa/JpaConsumer.java | 10 +-
.../apache/camel/component/jpa/JpaEndpoint.java | 4 +-
.../camel/component/jpa/JpaPollingConsumer.java | 6 +-
.../apache/camel/component/jpa/JpaProducer.java | 2 +-
.../org/apache/camel/component/jpa/JpaTest.java | 2 +-
.../jpa/JpaWithNamedQueryAndParametersTest.java | 2 +-
.../camel/component/jpa/JpaWithNamedQueryTest.java | 2 +-
.../processor/jpa/JpaProducerWithQueryTest.java | 2 +-
.../apache/camel/component/scp/ScpOperations.java | 2 +-
.../jsonvalidator/JsonValidatorComponent.java | 2 +-
.../camel/jsonpath/JsonPathLanguageTest.java | 2 +-
.../camel/component/jt400/Jt400Component.java | 4 +-
.../component/jt400/Jt400DataQueueConsumer.java | 2 +-
.../component/jt400/Jt400DataQueueProducer.java | 2 +-
.../camel/component/jt400/Jt400Endpoint.java | 2 +-
.../camel/component/jt400/Jt400PgmProducer.java | 2 +-
.../camel/component/kafka/KafkaComponent.java | 2 +-
.../camel/component/kafka/KafkaConfiguration.java | 12 +-
.../camel/component/kafka/KafkaConsumer.java | 4 +-
.../camel/component/kafka/KafkaEndpoint.java | 2 +-
.../camel/component/kafka/KafkaProducer.java | 2 +-
.../kafka/KafkaIdempotentRepository.java | 2 +-
.../camel/component/kafka/KafkaProducerTest.java | 2 +-
.../kubernetes/AbstractKubernetesComponent.java | 2 +-
.../kubernetes/AbstractKubernetesEndpoint.java | 4 +-
.../config_maps/KubernetesConfigMapsProducer.java | 4 +-
.../deployments/KubernetesDeploymentsConsumer.java | 2 +-
.../deployments/KubernetesDeploymentsProducer.java | 4 +-
.../kubernetes/hpa/KubernetesHPAConsumer.java | 2 +-
.../kubernetes/hpa/KubernetesHPAProducer.java | 4 +-
.../kubernetes/job/KubernetesJobProducer.java | 4 +-
.../namespaces/KubernetesNamespacesConsumer.java | 2 +-
.../namespaces/KubernetesNamespacesProducer.java | 4 +-
.../kubernetes/nodes/KubernetesNodesConsumer.java | 2 +-
.../kubernetes/nodes/KubernetesNodesProducer.java | 4 +-
.../KubernetesPersistentVolumesProducer.java | 4 +-
.../KubernetesPersistentVolumesClaimsProducer.java | 4 +-
.../kubernetes/pods/KubernetesPodsConsumer.java | 2 +-
.../kubernetes/pods/KubernetesPodsProducer.java | 4 +-
.../KubernetesReplicationControllersConsumer.java | 2 +-
.../KubernetesReplicationControllersProducer.java | 4 +-
.../KubernetesResourcesQuotaProducer.java | 4 +-
.../secrets/KubernetesSecretsProducer.java | 4 +-
.../KubernetesServiceAccountsProducer.java | 4 +-
.../services/KubernetesServicesConsumer.java | 2 +-
.../services/KubernetesServicesProducer.java | 5 +-
.../OpenshiftBuildConfigsProducer.java | 4 +-
.../openshift/builds/OpenshiftBuildsProducer.java | 4 +-
.../camel-ldap/src/main/docs/ldap-component.adoc | 2 +-
.../apache/camel/component/ldap/LdapComponent.java | 2 +-
.../apache/camel/component/ldap/LdapEndpoint.java | 2 +-
.../apache/camel/component/ldap/LdapProducer.java | 2 +-
.../apache/camel/component/ldif/LdifComponent.java | 2 +-
.../apache/camel/component/ldif/LdifEndpoint.java | 2 +-
.../apache/camel/component/ldif/LdifProducer.java | 2 +-
.../leveldb/LevelDBAggregationRepository.java | 2 +-
.../camel/component/leveldb/LevelDBCamelCodec.java | 2 +-
.../LevelDBAggregationRepositoryAlotDataTest.java | 2 +-
...velDBAggregationRepositoryLoadExistingTest.java | 2 +-
...velDBAggregationRepositoryMultipleRepoTest.java | 2 +-
...DBAggregationRepositoryRecoverExistingTest.java | 2 +-
.../leveldb/LevelDBAggregationRepositoryTest.java | 2 +-
.../leveldb/LevelDBExchangeSerializationTest.java | 2 +-
.../component/leveldb/LevelDBGetNotFoundTest.java | 2 +-
.../src/test/resources/jndi.properties | 2 +-
.../component/linkedin/LinkedInComponent.java | 10 +-
.../camel/component/linkedin/LinkedInConsumer.java | 4 +-
.../camel/component/linkedin/LinkedInEndpoint.java | 6 +-
.../camel/component/linkedin/LinkedInProducer.java | 4 +-
.../internal/LinkedInPropertiesHelper.java | 2 +-
.../linkedin/AbstractLinkedInTestSupport.java | 2 +-
.../camel/component/lucene/LuceneComponent.java | 2 +-
.../camel/component/lucene/LuceneEndpoint.java | 2 +-
.../component/lucene/LuceneIndexProducer.java | 2 +-
.../component/lucene/LuceneQueryProducer.java | 2 +-
.../src/main/docs/lumberjack-component.adoc | 2 +-
.../component/lumberjack/LumberjackComponent.java | 4 +-
.../component/lumberjack/LumberjackConsumer.java | 2 +-
.../component/lumberjack/LumberjackEndpoint.java | 4 +-
.../LumberjackComponentGlobalSSLTest.java | 8 +-
.../lumberjack/LumberjackComponentSSLTest.java | 8 +-
.../camel/component/lumberjack/LumberjackUtil.java | 2 +-
.../apache/camel/component/mail/MailBinding.java | 14 +-
.../apache/camel/component/mail/MailComponent.java | 4 +-
.../camel/component/mail/MailConfiguration.java | 2 +-
.../apache/camel/component/mail/MailConsumer.java | 4 +-
.../apache/camel/component/mail/MailEndpoint.java | 2 +-
.../apache/camel/component/mail/MailMessage.java | 4 +-
.../apache/camel/component/mail/MailProducer.java | 2 +-
.../component/mail/SplitAttachmentsExpression.java | 2 +-
.../mime/multipart/MimeMultipartDataFormat.java | 6 +-
.../camel/component/mail/MailAttachmentTest.java | 2 +-
.../camel/component/mail/MailMessageTest.java | 2 +-
.../camel/component/mail/MailTestHelper.java | 8 +-
.../mail/MultipleDestinationConsumeTest.java | 4 +-
.../multipart/MimeMultipartDataFormatTest.java | 4 +-
.../camel/component/master/MasterComponent.java | 2 +-
.../camel/component/master/MasterConsumer.java | 8 +-
.../camel/component/master/MasterEndpoint.java | 2 +-
.../component/metrics/AbstractMetricsProducer.java | 4 +-
.../camel/component/metrics/MetricsComponent.java | 2 +-
.../camel/component/metrics/MetricsEndpoint.java | 2 +-
.../MetricsMessageHistoryFactory.java | 3 +-
.../MetricsMessageHistoryService.java | 6 +-
.../routepolicy/MetricsRegistryService.java | 6 +-
.../metrics/routepolicy/MetricsRoutePolicy.java | 8 +-
.../metrics/AbstractMetricsProducerTest.java | 2 +-
.../spi/InstrumentedThreadPoolFactoryTest.java | 2 +-
.../micrometer/AbstractMicrometerProducer.java | 2 +-
.../component/micrometer/MicrometerComponent.java | 2 +-
.../component/micrometer/MicrometerEndpoint.java | 2 +-
.../AbstractMicrometerEventNotifier.java | 6 +-
.../micrometer/json/AbstractMicrometerService.java | 6 +-
.../MicrometerMessageHistoryFactory.java | 5 +-
.../routepolicy/MicrometerRoutePolicy.java | 5 +-
.../spi/InstrumentedThreadPoolFactoryTest.java | 2 +-
.../org/apache/camel/component/milo/Messages.java | 2 +-
.../component/milo/client/MiloClientComponent.java | 2 +-
.../component/milo/client/MiloClientConsumer.java | 4 +-
.../component/milo/client/MiloClientEndpoint.java | 2 +-
.../component/milo/client/MiloClientProducer.java | 2 +-
.../component/milo/server/MiloServerComponent.java | 2 +-
.../component/milo/server/MiloServerConsumer.java | 4 +-
.../component/milo/server/MiloServerEndpoint.java | 2 +-
.../component/milo/server/MiloServerProducer.java | 2 +-
.../camel/component/mina2/Mina2Component.java | 2 +-
.../camel/component/mina2/Mina2Configuration.java | 2 +-
.../camel/component/mina2/Mina2Consumer.java | 4 +-
.../camel/component/mina2/Mina2Endpoint.java | 2 +-
.../camel/component/mina2/Mina2Producer.java | 6 +-
.../camel/component/mina2/BaseMina2Test.java | 12 +-
.../camel/component/mina2/Mina2ConverterTest.java | 2 +-
.../mina2/Mina2DisconnectRaceConditionTest.java | 2 +-
.../camel/component/mina2/Mina2FiltersTest.java | 2 +-
.../src/test/resources/jndi-example.properties | 2 +-
.../apache/camel/component/mllp/MllpComponent.java | 2 +-
.../camel/component/mllp/MllpConfiguration.java | 6 +-
.../apache/camel/component/mllp/MllpEndpoint.java | 2 +-
.../component/mllp/MllpTcpClientProducer.java | 2 +-
.../component/mllp/MllpTcpServerConsumer.java | 2 +-
.../component/mongodb/gridfs/GridFsComponent.java | 2 +-
.../component/mongodb/gridfs/GridFsConsumer.java | 2 +-
.../component/mongodb/gridfs/GridFsEndpoint.java | 4 +-
.../component/mongodb/gridfs/GridFsProducer.java | 2 +-
.../camel/component/mongodb3/MongoDbComponent.java | 4 +-
.../camel/component/mongodb3/MongoDbEndpoint.java | 4 +-
.../camel/component/mongodb3/MongoDbProducer.java | 4 +-
.../mongodb3/MongoDbTailableCursorConsumer.java | 2 +-
.../apache/camel/component/mqtt/MQTTComponent.java | 2 +-
.../apache/camel/component/mqtt/MQTTConsumer.java | 2 +-
.../apache/camel/component/mqtt/MQTTEndpoint.java | 2 +-
.../apache/camel/component/mqtt/MQTTProducer.java | 2 +-
.../component/mustache/MustacheComponent.java | 2 +-
.../camel/component/mustache/MustacheEndpoint.java | 2 +-
.../apache/camel/component/mvel/MvelComponent.java | 4 +-
.../apache/camel/component/mvel/MvelEndpoint.java | 2 +-
.../camel-mvel/src/test/resources/jndi.properties | 2 +-
.../component/mybatis/BaseMyBatisEndpoint.java | 2 +-
.../component/mybatis/MyBatisBeanProducer.java | 4 +-
.../camel/component/mybatis/MyBatisComponent.java | 4 +-
.../camel/component/mybatis/MyBatisConsumer.java | 2 +-
.../camel/component/mybatis/MyBatisProducer.java | 6 +-
.../mybatis/MyBatisConsumerIsolatedTest.java | 2 +-
.../camel/component/nagios/NagiosComponent.java | 2 +-
.../camel/component/nagios/NagiosEndpoint.java | 2 +-
.../camel/component/nagios/NagiosProducer.java | 2 +-
.../apache/camel/component/nats/NatsComponent.java | 2 +-
.../camel/component/nats/NatsConfiguration.java | 2 +-
.../apache/camel/component/nats/NatsConsumer.java | 2 +-
.../apache/camel/component/nats/NatsEndpoint.java | 2 +-
.../apache/camel/component/nats/NatsProducer.java | 2 +-
.../camel/component/nats/NatsProducerTLSTest.java | 6 +-
.../src/main/docs/netty4-http-component.adoc | 2 +-
.../netty4/http/DefaultNettyHttpBinding.java | 8 +-
.../netty4/http/DefaultNettySharedHttpServer.java | 12 +-
.../netty4/http/HttpClientInitializerFactory.java | 4 +-
.../netty4/http/HttpServerInitializerFactory.java | 4 +-
.../http/HttpServerSharedInitializerFactory.java | 15 +-
.../component/netty4/http/NettyHttpComponent.java | 4 +-
.../component/netty4/http/NettyHttpHelper.java | 1 -
.../component/netty4/http/NettyHttpMessage.java | 2 +-
.../netty4/http/NettySharedHttpServer.java | 5 +-
.../netty4/http/SecurityAuthenticatorSupport.java | 6 +-
.../netty4/http/SecurityConstraintMapping.java | 2 +-
.../http/handlers/HttpServerChannelHandler.java | 8 +-
.../http/NettyHttpClientExpectContinueTest.java | 2 +-
.../http/NettyHttpHeaderFilterStrategyTest.java | 2 +-
.../http/NettyHttpSSLHandshakeErrorTest.java | 2 +-
.../netty4/http/NettySharedHttpServerTest.java | 2 +-
.../src/main/docs/netty4-component.adoc | 2 +-
.../netty4/DefaultClientInitializerFactory.java | 4 +-
.../netty4/DefaultServerInitializerFactory.java | 4 +-
.../camel/component/netty4/NettyComponent.java | 6 +-
.../camel/component/netty4/NettyConfiguration.java | 7 +-
.../camel/component/netty4/NettyConsumer.java | 4 +-
.../netty4/NettyConsumerExceptionHandler.java | 2 +-
.../camel/component/netty4/NettyEndpoint.java | 2 +-
.../camel/component/netty4/NettyProducer.java | 8 +-
.../netty4/NettyServerBootstrapConfiguration.java | 3 +-
.../SingleTCPNettyServerBootstrapFactory.java | 4 +-
.../SingleUDPNettyServerBootstrapFactory.java | 4 +-
.../netty4/TimeoutCorrelationManagerSupport.java | 4 +-
.../netty4/handlers/ClientChannelHandler.java | 2 +-
.../netty4/handlers/ServerChannelHandler.java | 2 +-
.../component/netty4/ssl/SSLEngineFactory.java | 3 +-
.../camel/component/netty4/NettyConverterTest.java | 2 +-
.../NettyGlobalSSLContextParametersTest.java | 12 +-
.../netty4/NettySSLContextParametersTest.java | 12 +-
.../camel-ognl/src/test/resources/jndi.properties | 2 +-
.../camel/component/olingo2/Olingo2Component.java | 10 +-
.../component/olingo2/Olingo2Configuration.java | 2 +-
.../camel/component/olingo2/Olingo2Consumer.java | 7 +-
.../camel/component/olingo2/Olingo2Endpoint.java | 6 +-
.../camel/component/olingo2/Olingo2Producer.java | 7 +-
.../olingo2/internal/Olingo2PropertiesHelper.java | 2 +-
.../olingo2/AbstractOlingo2TestSupport.java | 2 +-
.../camel/component/olingo4/Olingo4Component.java | 10 +-
.../component/olingo4/Olingo4Configuration.java | 2 +-
.../camel/component/olingo4/Olingo4Consumer.java | 7 +-
.../camel/component/olingo4/Olingo4Endpoint.java | 6 +-
.../camel/component/olingo4/Olingo4Producer.java | 7 +-
.../olingo4/internal/Olingo4PropertiesHelper.java | 2 +-
.../olingo4/AbstractOlingo4TestSupport.java | 2 +-
.../openstack/cinder/CinderComponent.java | 2 +-
.../common/AbstractOpenstackEndpoint.java | 2 +-
.../common/AbstractOpenstackProducer.java | 2 +-
.../openstack/glance/GlanceComponent.java | 2 +-
.../openstack/keystone/KeystoneComponent.java | 2 +-
.../openstack/neutron/NeutronComponent.java | 2 +-
.../component/openstack/nova/NovaComponent.java | 2 +-
.../component/openstack/swift/SwiftComponent.java | 2 +-
.../openstack/AbstractProducerTestSupport.java | 2 +-
.../camel/opentracing/OpenTracingTracer.java | 10 +-
.../optaplanner/OptaPlannerComponent.java | 2 +-
.../component/optaplanner/OptaPlannerConsumer.java | 2 +-
.../component/optaplanner/OptaPlannerEndpoint.java | 2 +-
.../component/optaplanner/OptaPlannerProducer.java | 2 +-
.../apache/camel/component/paho/PahoComponent.java | 2 +-
.../apache/camel/component/paho/PahoConsumer.java | 2 +-
.../apache/camel/component/paho/PahoEndpoint.java | 2 +-
.../apache/camel/component/paho/PahoMessage.java | 2 +-
.../apache/camel/component/paho/PahoProducer.java | 2 +-
.../component/paxlogging/PaxLoggingComponent.java | 2 +-
.../component/paxlogging/PaxLoggingConsumer.java | 2 +-
.../component/paxlogging/PaxLoggingEndpoint.java | 2 +-
.../apache/camel/component/pdf/PdfComponent.java | 2 +-
.../apache/camel/component/pdf/PdfEndpoint.java | 2 +-
.../apache/camel/component/pdf/PdfProducer.java | 2 +-
.../camel/component/pgevent/PgEventComponent.java | 2 +-
.../camel/component/pgevent/PgEventConsumer.java | 2 +-
.../camel/component/pgevent/PgEventEndpoint.java | 2 +-
.../camel/component/pgevent/PgEventProducer.java | 2 +-
.../camel/component/printer/PrinterComponent.java | 2 +-
.../camel/component/printer/PrinterEndpoint.java | 2 +-
.../camel/component/printer/PrinterProducer.java | 2 +-
.../camel/component/pubnub/PubNubComponent.java | 2 +-
.../camel/component/pubnub/PubNubConsumer.java | 2 +-
.../camel/component/pubnub/PubNubEndpoint.java | 2 +-
.../camel/component/pubnub/PubNubProducer.java | 2 +-
.../camel/component/quartz2/QuartzComponent.java | 6 +-
.../camel/component/quartz2/QuartzConsumer.java | 2 +-
.../camel/component/quartz2/QuartzEndpoint.java | 4 +-
.../camel/component/quartz2/QuartzMessage.java | 2 +-
.../QuartzScheduledPollConsumerScheduler.java | 4 +-
.../quartz2/CronScheduledRoutePolicy.java | 4 +-
.../routepolicy/quartz2/ScheduledRoutePolicy.java | 6 +-
.../quartz2/SimpleScheduledRoutePolicy.java | 4 +-
.../quartz2/DelegateEndpointQuartzTest.java | 4 +-
.../quartz2/CronScheduledRoutePolicyTest.java | 2 +-
.../quartz2/SimpleScheduledRoutePolicyTest.java | 2 +-
.../quartz2/SpringScheduledRoutePolicyTest.java | 2 +-
.../component/quickfixj/MessagePredicate.java | 3 +-
.../component/quickfixj/QuickfixjComponent.java | 2 +-
.../component/quickfixj/QuickfixjConsumer.java | 2 +-
.../component/quickfixj/QuickfixjEndpoint.java | 2 +-
.../component/quickfixj/QuickfixjProducer.java | 2 +-
.../quickfixj/converter/QuickfixjConverters.java | 6 +-
.../quickfixj/QuickfixjComponentTest.java | 2 +-
.../quickfixj/QuickfixjConvertersTest.java | 2 +-
.../examples/routing/FixMessageRouter.java | 4 +-
.../examples/trading/TradeExecutorComponent.java | 8 +-
.../component/rabbitmq/RabbitMQComponent.java | 4 +-
.../camel/component/rabbitmq/RabbitMQConsumer.java | 4 +-
.../camel/component/rabbitmq/RabbitMQEndpoint.java | 5 +-
.../rabbitmq/RabbitMQMessageConverter.java | 2 +-
.../camel/component/rabbitmq/RabbitMQProducer.java | 7 +-
.../rabbitmq/reply/ReplyManagerSupport.java | 4 +-
.../rabbitmq/RabbitMQProducerIntTest.java | 2 +-
.../component/rabbitmq/RabbitMQProducerTest.java | 2 +-
.../reactive/streams/ReactiveStreamsComponent.java | 4 +-
.../reactive/streams/ReactiveStreamsConsumer.java | 2 +-
.../reactive/streams/ReactiveStreamsEndpoint.java | 2 +-
.../reactive/streams/ReactiveStreamsHelper.java | 4 +-
.../reactive/streams/ReactiveStreamsProducer.java | 2 +-
.../engine/DefaultCamelReactiveStreamsService.java | 10 +-
.../streams/util/ConvertingSubscriber.java | 2 +-
.../streams/util/UnwrapStreamProcessor.java | 2 +-
.../reactive/streams/ExchangeRequestTest.java | 2 +-
.../tck/CamelSubscriberVerificationTest.java | 2 +-
.../reactor/engine/ReactorStreamsServiceTest.java | 4 +-
.../src/main/docs/rest-swagger-component.adoc | 2 +-
.../rest/swagger/RestSwaggerComponent.java | 4 +-
.../rest/swagger/RestSwaggerEndpoint.java | 6 +-
.../camel/component/rest/swagger/HttpsTest.java | 6 +-
.../rest/swagger/RestSwaggerDelegateHttpsTest.java | 2 +-
.../src/main/docs/restlet-component.adoc | 2 +-
.../component/restlet/DefaultRestletBinding.java | 8 +-
.../component/restlet/DefaultRestletHost.java | 2 +-
.../camel/component/restlet/RestletComponent.java | 6 +-
.../camel/component/restlet/RestletConsumer.java | 2 +-
.../camel/component/restlet/RestletEndpoint.java | 5 +-
.../camel/component/restlet/RestletProducer.java | 4 +-
.../component/restlet/RestletContentTypeTest.java | 2 +-
...letHttpsWithGlobalSSLContextParametersTest.java | 6 +-
.../RestletHttpsWithSSLContextParametersTest.java | 6 +-
.../ribbon/cloud/RibbonServiceLoadBalancer.java | 2 +-
.../apache/camel/component/rmi/RmiComponent.java | 2 +-
.../apache/camel/component/rmi/RmiConsumer.java | 2 +-
.../apache/camel/component/rmi/RmiEndpoint.java | 2 +-
.../apache/camel/component/rmi/RmiProducer.java | 2 +-
.../apache/camel/component/rmi/RmiRouteTest.java | 2 +-
.../camel/component/rss/UpdatedDateFilter.java | 2 +-
.../apache/camel/dataformat/rss/RssDataFormat.java | 2 +-
.../rss/RssEntryPollingConsumerWithFilterTest.java | 2 +-
.../camel/component/rss/RssEntrySortTest.java | 2 +-
.../apache/camel/component/rss/RssFilterTest.java | 2 +-
.../rxjava2/engine/RxJavaStreamsServiceTest.java | 4 +-
.../src/main/docs/salesforce-component.adoc | 4 +-
.../salesforce/SalesforceClientTemplate.java | 2 +-
.../component/salesforce/SalesforceComponent.java | 10 +-
.../component/salesforce/SalesforceConsumer.java | 4 +-
.../component/salesforce/SalesforceEndpoint.java | 2 +-
.../salesforce/SalesforceLoginConfig.java | 2 +-
.../salesforce/SalesforceMetaDataExtension.java | 6 +-
.../component/salesforce/SalesforceProducer.java | 4 +-
.../salesforce/internal/SalesforceSession.java | 2 +-
.../internal/processor/AbstractRestProcessor.java | 2 +-
.../internal/processor/AnalyticsApiProcessor.java | 2 +-
.../internal/processor/BulkApiProcessor.java | 2 +-
.../internal/processor/CompositeApiProcessor.java | 2 +-
.../salesforce/BulkApiIntegrationTest.java | 2 +-
.../component/salesforce/LoginConfigHelper.java | 2 +-
.../salesforce/RestApiIntegrationTest.java | 2 +-
.../salesforce/SalesforceLoginConfigTest.java | 2 +-
.../salesforce/internal/SalesforceSessionTest.java | 2 +-
.../internal/SessionIntegrationTest.java | 2 +-
.../internal/client/AbstractClientBaseTest.java | 4 +-
.../AbstractRestProcessorApprovalTest.java | 4 +-
.../internal/processor/JsonRestProcessorTest.java | 4 +-
.../apache/camel/maven/AbstractSalesforceMojo.java | 6 +-
.../java/org/apache/camel/maven/GenerateMojo.java | 2 +-
.../sap/netweaver/NetWeaverComponent.java | 2 +-
.../component/sap/netweaver/NetWeaverEndpoint.java | 2 +-
.../component/sap/netweaver/NetWeaverProducer.java | 6 +-
.../camel/component/xquery/XQueryBuilder.java | 2 +-
.../camel/component/xquery/XQueryComponent.java | 4 +-
.../camel/component/xquery/XQueryEndpoint.java | 6 +-
.../camel/builder/XsltAggregationStrategyTest.java | 78 ++
.../builder/saxon/BeanWithXQueryInjectionTest.java | 2 +-
.../camel/builder/saxon/ParameterDynamicTest.java | 2 +-
.../saxon/XPathAnnotationResultTypeTest.java | 2 +-
.../org/apache/camel/builder/saxon/XQueryTest.java | 2 +-
...eanWithXQueryInjectionUsingHeaderValueTest.java | 2 +-
.../xquery/XQueryStripWhitespaceTest.java | 2 +-
.../camel/component/xslt/SaxonUriResolverTest.java | 2 +-
.../camel/component/xslt/SaxonXsltDTDTest.java | 2 +-
.../camel/converter/saxon/SaxonConverterTest.java | 2 +-
.../util/toolbox/XsltAggregationStrategyTest.java | 78 --
.../component/schematron/SchematronComponent.java | 2 +-
.../component/schematron/SchematronEndpoint.java | 4 +-
.../component/schematron/SchematronProducer.java | 2 +-
.../schematron/SchematronEndpointTest.java | 5 +-
.../schematron/SchematronProducerTest.java | 2 +-
.../apache/camel/builder/script/ScriptBuilder.java | 3 +-
.../camel/component/service/ServiceComponent.java | 2 +-
.../camel/component/service/ServiceConsumer.java | 4 +-
.../camel/component/service/ServiceEndpoint.java | 2 +-
.../component/servicenow/ServiceNowClient.java | 5 +-
.../component/servicenow/ServiceNowComponent.java | 6 +-
.../servicenow/ServiceNowConfiguration.java | 2 +-
.../component/servicenow/ServiceNowEndpoint.java | 2 +-
.../servicenow/ServiceNowMetaDataExtension.java | 2 +-
.../servicenow/ServiceNowAttachmentTest.java | 2 +-
.../camel/maven/CamelServiceNowGenerateMojo.java | 2 +-
.../component/servlet/AttachmentHttpBinding.java | 2 +-
.../shiro/security/ShiroSecurityProcessor.java | 2 +-
.../apache/camel/component/sip/SipComponent.java | 2 +-
.../apache/camel/component/sip/SipEndpoint.java | 2 +-
.../camel/component/sip/SipPresenceAgent.java | 2 +-
.../apache/camel/component/sip/SipPublisher.java | 2 +-
.../apache/camel/component/sip/SipSubscriber.java | 2 +-
.../apache/camel/component/sjms/SjmsConsumer.java | 2 +-
.../apache/camel/component/sjms/SjmsEndpoint.java | 8 +-
.../apache/camel/component/sjms/SjmsMessage.java | 4 +-
.../apache/camel/component/sjms/SjmsProducer.java | 6 +-
.../component/sjms/batch/SjmsBatchConsumer.java | 5 +-
.../component/sjms/batch/SjmsBatchEndpoint.java | 2 +-
.../sjms/consumer/AbstractMessageHandler.java | 2 +-
.../camel/component/sjms/jms/JmsBinding.java | 4 +-
.../camel/component/sjms/jms/JmsMessageHelper.java | 2 +-
.../sjms/batch/SjmsBatchEndpointTest.java | 2 +-
.../component/sjms/support/MyAsyncComponent.java | 2 +-
.../component/sjms/support/MyAsyncEndpoint.java | 2 +-
.../component/sjms/support/MyAsyncProducer.java | 2 +-
.../camel/component/slack/SlackComponent.java | 2 +-
.../camel/component/slack/SlackConsumer.java | 2 +-
.../camel/component/slack/SlackEndpoint.java | 3 +-
.../camel/component/slack/SlackProducer.java | 6 +-
.../apache/camel/component/smpp/SmppComponent.java | 2 +-
.../apache/camel/component/smpp/SmppConsumer.java | 2 +-
.../apache/camel/component/smpp/SmppEndpoint.java | 2 +-
.../apache/camel/component/smpp/SmppMessage.java | 6 +-
.../apache/camel/component/smpp/SmppProducer.java | 2 +-
.../component/smpp/AbstractSmppCommandTest.java | 2 +-
.../camel/component/smpp/SmppBindingTest.java | 2 +-
.../component/smpp/SmppCancelSmCommandTest.java | 2 +-
.../camel/component/smpp/SmppCommandTypeTest.java | 2 +-
.../component/smpp/SmppDataSmCommandTest.java | 2 +-
.../component/smpp/SmppQuerySmCommandTest.java | 2 +-
.../component/smpp/SmppReplaceSmCommandTest.java | 2 +-
.../component/smpp/SmppSubmitMultiCommandTest.java | 2 +-
.../component/smpp/SmppSubmitSmCommandTest.java | 2 +-
.../component/snakeyaml/SnakeYAMLDataFormat.java | 6 +-
.../apache/camel/component/snmp/SnmpComponent.java | 2 +-
.../apache/camel/component/snmp/SnmpEndpoint.java | 2 +-
.../apache/camel/component/snmp/SnmpMessage.java | 2 +-
.../apache/camel/component/snmp/SnmpOIDPoller.java | 2 +-
.../apache/camel/component/snmp/SnmpProducer.java | 2 +-
.../camel/component/snmp/SnmpTrapConsumer.java | 2 +-
.../camel/component/snmp/SnmpTrapProducer.java | 2 +-
.../apache/camel/component/solr/SolrComponent.java | 2 +-
.../apache/camel/component/solr/SolrEndpoint.java | 2 +-
.../apache/camel/component/solr/SolrProducer.java | 2 +-
.../camel/component/sparkrest/CamelSparkRoute.java | 4 +-
.../component/sparkrest/DefaultSparkBinding.java | 6 +-
.../camel/component/sparkrest/SparkComponent.java | 2 +-
.../camel/component/sparkrest/SparkConsumer.java | 2 +-
.../camel/component/sparkrest/SparkEndpoint.java | 2 +-
.../camel/component/sparkrest/SparkMessage.java | 2 +-
.../component/spark/DataFrameSparkProducer.java | 2 +-
.../camel/component/spark/HiveSparkProducer.java | 2 +-
.../camel/component/spark/RddSparkProducer.java | 2 +-
.../camel/component/spark/SparkComponent.java | 2 +-
.../camel/component/spark/SparkEndpoint.java | 2 +-
.../camel/component/splunk/SplunkComponent.java | 2 +-
.../camel/component/splunk/SplunkConsumer.java | 2 +-
.../camel/component/splunk/SplunkEndpoint.java | 2 +-
.../camel/component/splunk/SplunkProducer.java | 2 +-
.../spring/batch/SpringBatchComponent.java | 2 +-
.../spring/batch/SpringBatchEndpoint.java | 4 +-
.../spring/batch/SpringBatchProducer.java | 4 +-
.../spring/batch/support/CamelItemReader.java | 2 +-
.../camel/spring/boot/CamelAutoConfiguration.java | 2 +-
.../apache/camel/spring/boot/RoutesCollector.java | 2 +-
.../boot/SpringBootXmlCamelContextConfigurer.java | 4 +-
.../boot/actuate/endpoint/CamelRoutesEndpoint.java | 3 +-
.../boot/security/CamelSSLAutoConfiguration.java | 4 +-
.../security/CamelSSLConfigurationProperties.java | 18 +-
.../spring/boot/util/CamelPropertiesHelper.java | 4 +-
.../spring/boot/LogListenerDiscoveryTest.java | 2 +-
.../camel/spring/boot/dummy/DummyComponent.java | 2 +-
.../camel/spring/boot/dummy/DummyConsumer.java | 2 +-
.../camel/spring/boot/dummy/DummyEndpoint.java | 2 +-
.../security/CamelSSLAutoConfigurationTest.java | 2 +-
.../spring/boot/security/CamelSSLNoConfigTest.java | 2 +-
.../integration/SpringIntegrationComponent.java | 2 +-
.../integration/SpringIntegrationConsumer.java | 2 +-
.../integration/SpringIntegrationEndpoint.java | 3 +-
.../integration/SpringIntegrationMessage.java | 2 +-
.../integration/SpringIntegrationProducer.java | 2 +-
.../integration/adapter/CamelSourceAdapter.java | 2 +-
.../integration/adapter/CamelTargetAdapter.java | 2 +-
.../component/springldap/SpringLdapComponent.java | 2 +-
.../component/springldap/SpringLdapEndpoint.java | 2 +-
.../component/springldap/SpringLdapProducer.java | 2 +-
.../springldap/SpringLdapProducerTest.java | 4 +-
.../camel/component/redis/RedisComponent.java | 2 +-
.../camel/component/redis/RedisConsumer.java | 2 +-
.../camel/component/redis/RedisEndpoint.java | 2 +-
.../spring/ws/SpringWebserviceComponent.java | 6 +-
.../spring/ws/SpringWebserviceConfiguration.java | 2 +-
.../spring/ws/SpringWebserviceConsumer.java | 2 +-
.../spring/ws/SpringWebserviceEndpoint.java | 2 +-
.../spring/ws/SpringWebserviceMessage.java | 2 +-
.../spring/ws/SpringWebserviceProducer.java | 4 +-
.../impl/HeaderTransformationMessageFilter.java | 2 +-
.../camel/component/event/EventComponent.java | 2 +-
.../camel/component/event/EventConsumer.java | 2 +-
.../camel/component/event/EventEndpoint.java | 6 +-
.../camel/spring/CamelBeanPostProcessor.java | 2 +-
.../camel/spring/CamelContextFactoryBean.java | 8 +-
.../apache/camel/spring/SpringCamelContext.java | 4 +-
.../spring/remoting/CamelProxyFactoryBean.java | 2 +-
.../spring/remoting/CamelServiceExporter.java | 4 +-
.../apache/camel/spring/spi/SpringInjector.java | 11 -
.../camel/spring/spi/SpringTransactionPolicy.java | 3 +-
.../camel/spring/spi/TransactionErrorHandler.java | 7 +-
.../spring/spi/TransactionErrorHandlerBuilder.java | 2 +-
.../spring/KeyManagersParametersFactoryBean.java | 2 +-
.../util/spring/KeyStoreParametersFactoryBean.java | 2 +-
.../SSLContextClientParametersFactoryBean.java | 2 +-
.../spring/SSLContextParametersFactoryBean.java | 2 +-
.../SSLContextServerParametersFactoryBean.java | 2 +-
.../spring/SecureRandomParametersFactoryBean.java | 2 +-
.../spring/TrustManagersParametersFactoryBean.java | 2 +-
.../camel/spring/CamelContextFactoryBeanTest.java | 2 +-
.../org/apache/camel/spring/bind/BeanInfoTest.java | 2 +-
.../DualCamelContextEndpointOutsideTest.java | 2 +-
...lContextCustomDefaultThreadPoolProfileTest.java | 2 +-
...ingCamelContextCustomThreadPoolProfileTest.java | 2 +-
...xtSimpleCustomDefaultThreadPoolProfileTest.java | 2 +-
.../SpringCamelContextThreadPoolProfilesTest.java | 2 +-
.../camel/spring/util/EndpointHelperTest.java | 2 +-
.../spring/KeyStoreParametersFactoryBeanTest.java | 2 +-
.../SSLContextParametersFactoryBeanTest.java | 6 +-
.../SecureRandomParametersFactoryBeanTest.java | 2 +-
.../camel/component/sql/DefaultSqlEndpoint.java | 2 +-
.../sql/DefaultSqlPrepareStatementStrategy.java | 2 +-
.../apache/camel/component/sql/SqlComponent.java | 4 +-
.../apache/camel/component/sql/SqlConsumer.java | 5 +-
.../org/apache/camel/component/sql/SqlHelper.java | 2 +-
.../apache/camel/component/sql/SqlProducer.java | 2 +-
.../stored/CallableStatementWrapperFactory.java | 2 +-
.../component/sql/stored/SqlStoredComponent.java | 2 +-
.../component/sql/stored/SqlStoredEndpoint.java | 2 +-
.../component/sql/stored/SqlStoredProducer.java | 2 +-
.../aggregate/jdbc/JdbcAggregationRepository.java | 3 +-
.../processor/aggregate/jdbc/JdbcCamelCodec.java | 2 +-
.../camel/component/sql/stored/ParserTest.java | 2 +-
.../ClassLoadingAwareObjectInputStreamTest.java | 2 +-
.../JdbcAggregationRepositoryAlotDataTest.java | 2 +-
.../JdbcAggregationRepositoryMultipleRepoTest.java | 2 +-
...bcAggregationRepositoryRecoverExistingTest.java | 2 +-
.../jdbc/JdbcAggregationRepositoryTest.java | 2 +-
.../jdbc/JdbcExchangeSerializationTest.java | 2 +-
.../aggregate/jdbc/JdbcGetNotFoundTest.java | 2 +-
.../aggregate/jdbc/JdbcGrowIssueTest.java | 2 +-
.../camel-sql/src/test/resources/jndi.properties | 2 +-
.../component/ssh/ResourceBasedSSHKeyVerifier.java | 2 +-
.../ssh/ResourceHelperKeyPairProvider.java | 2 +-
.../apache/camel/component/ssh/SshComponent.java | 2 +-
.../apache/camel/component/ssh/SshConsumer.java | 2 +-
.../apache/camel/component/ssh/SshEndpoint.java | 2 +-
.../apache/camel/component/ssh/SshProducer.java | 2 +-
.../apache/camel/component/stax/StAXComponent.java | 2 +-
.../apache/camel/component/stax/StAXEndpoint.java | 4 +-
.../component/stax/StAXJAXBIteratorExpression.java | 2 +-
.../apache/camel/component/stax/StAXProcessor.java | 2 +-
.../org/apache/camel/component/stax/StAXUtil.java | 2 +-
.../camel/component/stomp/StompConfiguration.java | 2 +-
.../camel/component/stomp/StompConsumer.java | 2 +-
.../camel/component/stomp/StompEndpoint.java | 4 +-
.../camel/component/stomp/StompProducer.java | 2 +-
.../camel/component/stomp/StompBaseTest.java | 8 +-
.../component/stream/FileWatcherStrategy.java | 3 +-
.../camel/component/stream/StreamComponent.java | 2 +-
.../camel/component/stream/StreamConsumer.java | 4 +-
.../camel/component/stream/StreamEndpoint.java | 2 +-
.../camel/component/stream/StreamProducer.java | 2 +-
.../component/stream/SplitStreamFileTest.java | 2 +-
.../stringtemplate/StringTemplateComponent.java | 4 +-
.../stringtemplate/StringTemplateEndpoint.java | 2 +-
.../apache/camel/swagger/RestSwaggerProcessor.java | 2 +-
.../apache/camel/swagger/RestSwaggerReader.java | 28 +-
.../apache/camel/swagger/RestSwaggerSupport.java | 2 +-
.../camel/swagger/SwaggerRestProducerFactory.java | 2 +-
.../swagger/producer/DummyRestProducerFactory.java | 2 +-
.../camel/component/syslog/SyslogDataFormat.java | 2 +-
.../camel/dataformat/tarfile/TarIterator.java | 2 +-
.../component/telegram/TelegramComponent.java | 2 +-
.../camel/component/telegram/TelegramConsumer.java | 2 +-
.../camel/component/telegram/TelegramEndpoint.java | 2 +-
.../camel/component/telegram/TelegramProducer.java | 2 +-
.../camel/test/blueprint/CamelBlueprintHelper.java | 12 +-
.../camel/test/karaf/CamelKarafTestSupport.java | 8 +-
.../src/test/resources/jndi.properties | 2 +-
...lSpringRunnerTestPropertySourceTest-context.xml | 2 +-
.../apache/camel/test/junit4/CamelTestSupport.java | 7 +-
.../camel/test/junit4/ExchangeTestSupport.java | 2 +-
.../org/apache/camel/test/junit4/TestSupport.java | 7 +-
.../camel/test/patterns/AsyncSendMockTest.java | 2 +-
.../camel-test/src/test/resources/jndi.properties | 2 +-
.../camel/component/thrift/ThriftComponent.java | 4 +-
.../component/thrift/ThriftConfiguration.java | 2 +-
.../camel/component/thrift/ThriftConsumer.java | 4 +-
.../camel/component/thrift/ThriftEndpoint.java | 2 +-
.../camel/component/thrift/ThriftProducer.java | 4 +-
.../apache/camel/component/thrift/ThriftUtils.java | 2 +-
.../thrift/ThriftConsumerSecurityTest.java | 6 +-
.../thrift/ThriftProducerSecurityTest.java | 6 +-
.../apache/camel/component/tika/TikaComponent.java | 2 +-
.../apache/camel/component/tika/TikaEndpoint.java | 2 +-
.../apache/camel/component/tika/TikaProducer.java | 2 +-
.../camel/component/twilio/TwilioComponent.java | 2 +-
.../camel/component/twilio/TwilioConsumer.java | 2 +-
.../camel/component/twilio/TwilioEndpoint.java | 8 +-
.../camel/component/twilio/TwilioProducer.java | 4 +-
.../twilio/internal/TwilioPropertiesHelper.java | 2 +-
.../twilio/AbstractTwilioTestSupport.java | 2 +-
.../twitter/AbstractTwitterComponent.java | 2 +-
.../component/twitter/AbstractTwitterEndpoint.java | 2 +-
.../twitter/consumer/DefaultTwitterConsumer.java | 2 +-
.../directmessage/DirectMessageProducer.java | 2 +-
.../component/twitter/search/SearchProducer.java | 2 +-
.../component/twitter/timeline/UserProducer.java | 2 +-
.../src/main/docs/undertow-component.adoc | 2 +-
.../undertow/DefaultUndertowHttpBinding.java | 10 +-
.../component/undertow/UndertowClientCallback.java | 2 +-
.../component/undertow/UndertowComponent.java | 10 +-
.../camel/component/undertow/UndertowConsumer.java | 2 +-
.../camel/component/undertow/UndertowEndpoint.java | 4 +-
.../camel/component/undertow/UndertowProducer.java | 2 +-
.../undertow/ws/UndertowWssRouteTest.java | 10 +-
.../univocity/AbstractUniVocityDataFormat.java | 2 +-
.../camel/dataformat/univocity/Marshaller.java | 4 +-
.../component/velocity/VelocityComponent.java | 4 +-
.../camel/component/velocity/VelocityEndpoint.java | 4 +-
.../camel/component/vertx/VertxComponent.java | 2 +-
.../camel/component/vertx/VertxConsumer.java | 2 +-
.../camel/component/vertx/VertxEndpoint.java | 2 +-
.../camel/component/vertx/VertxProducer.java | 6 +-
.../camel/component/weather/WeatherComponent.java | 2 +-
.../component/weather/WeatherConfiguration.java | 3 +-
.../camel/component/weather/WeatherConsumer.java | 2 +-
.../camel/component/weather/WeatherEndpoint.java | 2 +-
.../camel/component/weather/WeatherProducer.java | 2 +-
.../camel/component/web3j/Web3jComponent.java | 2 +-
.../camel/component/web3j/Web3jConsumer.java | 2 +-
.../camel/component/web3j/Web3jEndpoint.java | 2 +-
.../component/web3j/Web3jMockTestSupport.java | 2 +-
.../integration/Web3jIntegrationTestSupport.java | 2 +-
.../src/main/docs/websocket-component.adoc | 2 +-
.../component/websocket/WebsocketComponent.java | 4 +-
.../component/websocket/WebsocketConsumer.java | 2 +-
.../component/websocket/WebsocketEndpoint.java | 4 +-
.../component/websocket/WebsocketProducer.java | 2 +-
.../WebsocketSSLContextGlobalRouteExampleTest.java | 10 +-
.../WebsocketSSLContextInUriRouteExampleTest.java | 10 +-
.../websocket/WebsocketSSLRouteExampleTest.java | 10 +-
.../component/wordpress/WordpressComponent.java | 4 +-
.../wordpress/WordpressComponentConfiguration.java | 2 +-
.../component/wordpress/WordpressEndpoint.java | 6 +-
.../consumer/AbstractWordpressConsumer.java | 2 +-
.../producer/AbstractWordpressProducer.java | 2 +-
.../component/xchange/XChangeAccountProducer.java | 2 +-
.../camel/component/xchange/XChangeComponent.java | 2 +-
.../camel/component/xchange/XChangeEndpoint.java | 2 +-
.../xchange/XChangeMarketDataProducer.java | 2 +-
.../component/xchange/XChangeMetaDataProducer.java | 2 +-
.../xmlsecurity/XmlSignatureComponent.java | 2 +-
.../xmlsecurity/XmlSignatureEndpoint.java | 2 +-
.../xmlsecurity/XmlSignatureProducer.java | 2 +-
.../xmlsecurity/api/DefaultKeySelector.java | 2 +-
.../api/DefaultXAdESSignatureProperties.java | 2 +-
.../processor/XmlSignatureProcessor.java | 2 +-
.../xmlsecurity/XMLSecurityDataFormat.java | 2 +-
.../xmlsecurity/EncryptionAlgorithmTest.java | 2 +-
.../xmlsecurity/XMLEncryption11Test.java | 2 +-
.../xmlsecurity/XMLSecurityDataFormatTest.java | 2 +-
.../apache/camel/component/xmpp/XmppComponent.java | 4 +-
.../apache/camel/component/xmpp/XmppConsumer.java | 2 +-
.../camel/component/xmpp/XmppDirectProducer.java | 2 +-
.../apache/camel/component/xmpp/XmppEndpoint.java | 2 +-
.../component/xmpp/XmppGroupChatProducer.java | 2 +-
.../apache/camel/component/xmpp/XmppMessage.java | 4 +-
.../component/xmpp/XmppPrivateChatProducer.java | 2 +-
.../camel/component/xmpp/XmppPubSubProducer.java | 2 +-
.../dataformat/xstream/AbstractXStreamWrapper.java | 4 +-
.../dataformat/xstream/XStreamDataFormat.java | 1 -
.../camel/component/yammer/YammerComponent.java | 2 +-
.../camel/component/yammer/YammerEndpoint.java | 2 +-
.../yammer/YammerMessagePollingConsumer.java | 2 +-
.../component/yammer/YammerMessageProducer.java | 2 +-
.../yammer/YammerRelationshipPollingConsumer.java | 2 +-
.../yammer/YammerUserPollingConsumer.java | 2 +-
.../apache/camel/component/yql/YqlComponent.java | 2 +-
.../apache/camel/component/yql/YqlEndpoint.java | 2 +-
.../apache/camel/component/yql/YqlProducer.java | 2 +-
.../camel/component/zendesk/ZendeskComponent.java | 2 +-
.../camel/component/zendesk/ZendeskConsumer.java | 2 +-
.../camel/component/zendesk/ZendeskEndpoint.java | 6 +-
.../camel/component/zendesk/ZendeskProducer.java | 2 +-
.../zendesk/internal/ZendeskPropertiesHelper.java | 2 +-
.../zendesk/AbstractZendeskTestSupport.java | 2 +-
.../camel/dataformat/zipfile/ZipIterator.java | 2 +-
.../camel/zipkin/ZipkinClientRequestAdapter.java | 2 +-
.../camel/zipkin/ZipkinClientResponseAdaptor.java | 2 +-
.../camel/zipkin/ZipkinServerRequestAdapter.java | 2 +-
.../camel/zipkin/ZipkinServerResponseAdapter.java | 2 +-
.../java/org/apache/camel/zipkin/ZipkinTracer.java | 7 +-
.../component/zookeepermaster/MasterConsumer.java | 4 +-
.../component/zookeepermaster/MasterEndpoint.java | 2 +-
.../zookeepermaster/ZookeeperComponentSupport.java | 4 +-
.../group/internal/ManagedGroupFactoryBuilder.java | 2 +-
.../zookeepermaster/policy/MasterRoutePolicy.java | 2 +-
.../MasterEndpointFailoverTest.java | 2 +-
.../zookeepermaster/MasterEndpointTest.java | 2 +-
.../zookeepermaster/MasterQuartz2EndpointTest.java | 2 +-
.../component/zookeeper/ConnectionHolder.java | 5 +-
.../component/zookeeper/ZooKeeperComponent.java | 2 +-
.../component/zookeeper/ZooKeeperConsumer.java | 2 +-
.../component/zookeeper/ZooKeeperEndpoint.java | 2 +-
.../component/zookeeper/ZooKeeperMessage.java | 2 +-
.../component/zookeeper/ZooKeeperProducer.java | 4 +-
.../camel/component/zookeeper/ZooKeeperUtils.java | 2 +-
.../component/zookeeper/ConsumeChildrenTest.java | 2 +-
.../component/zookeeper/ZooKeeperUtilsTest.java | 2 +-
.../connector/SpringBootAutoConfigurationMojo.java | 2 +-
.../component/connector/ConnectorProducer.java | 6 +-
.../connector/DefaultConnectorComponent.java | 4 +-
.../connector/DefaultConnectorEndpoint.java | 4 +-
.../PetStoreConnectorAutoConfiguration.java | 2 +-
...rceUpsertContactConnectorAutoConfiguration.java | 2 +-
.../TwitterFindConnectorAutoConfiguration.java | 2 +-
.../TwitterMentionConnectorAutoConfiguration.java | 2 +-
.../en/camel-configuration-utilities.adoc | 2 +-
.../src/main/resources/jndi.properties | 4 +-
.../camel/commands/EndpointExplainCommand.java | 2 +-
.../camel/component/dummy/DummyComponent.java | 2 +-
.../camel/component/dummy/DummyEndpoint.java | 2 +-
.../camel/component/dummy/DummyProducer.java | 2 +-
.../springboot/AhcComponentAutoConfiguration.java | 2 +-
.../ahc/springboot/AhcComponentConfiguration.java | 4 +-
.../springboot/WsComponentAutoConfiguration.java | 2 +-
.../ws/springboot/WsComponentConfiguration.java | 4 +-
.../springboot/AMQPComponentAutoConfiguration.java | 2 +-
.../springboot/ApnsComponentAutoConfiguration.java | 2 +-
.../springboot/AS2ComponentAutoConfiguration.java | 2 +-
.../ASN1DataFormatAutoConfiguration.java | 2 +-
.../AsteriskComponentAutoConfiguration.java | 2 +-
.../AtmosComponentAutoConfiguration.java | 2 +-
.../WebsocketComponentAutoConfiguration.java | 2 +-
.../springboot/AtomComponentAutoConfiguration.java | 2 +-
.../AtomixMapComponentAutoConfiguration.java | 2 +-
.../AtomixMessagingComponentAutoConfiguration.java | 2 +-
.../AtomixMultiMapComponentAutoConfiguration.java | 2 +-
.../AtomixQueueComponentAutoConfiguration.java | 2 +-
.../AtomixSetComponentAutoConfiguration.java | 2 +-
.../AtomixValueComponentAutoConfiguration.java | 2 +-
.../springboot/AvroComponentAutoConfiguration.java | 2 +-
.../AvroDataFormatAutoConfiguration.java | 2 +-
.../springboot/CwComponentAutoConfiguration.java | 2 +-
.../springboot/DdbComponentAutoConfiguration.java | 2 +-
.../DdbStreamComponentAutoConfiguration.java | 2 +-
.../springboot/EC2ComponentAutoConfiguration.java | 2 +-
.../KinesisFirehoseComponentAutoConfiguration.java | 2 +-
.../springboot/IAMComponentAutoConfiguration.java | 2 +-
.../KinesisComponentAutoConfiguration.java | 2 +-
.../springboot/KMSComponentAutoConfiguration.java | 2 +-
.../LambdaComponentAutoConfiguration.java | 2 +-
.../springboot/MQComponentAutoConfiguration.java | 2 +-
.../springboot/S3ComponentAutoConfiguration.java | 2 +-
.../springboot/SdbComponentAutoConfiguration.java | 2 +-
.../springboot/SesComponentAutoConfiguration.java | 2 +-
.../springboot/SnsComponentAutoConfiguration.java | 2 +-
.../springboot/SqsComponentAutoConfiguration.java | 2 +-
.../springboot/SWFComponentAutoConfiguration.java | 2 +-
.../BlobServiceComponentAutoConfiguration.java | 2 +-
.../QueueServiceComponentAutoConfiguration.java | 2 +-
.../BarcodeDataFormatAutoConfiguration.java | 2 +-
.../Base64DataFormatAutoConfiguration.java | 2 +-
.../BeanValidatorComponentAutoConfiguration.java | 2 +-
.../BeanIODataFormatAutoConfiguration.java | 2 +-
.../BeanstalkComponentAutoConfiguration.java | 2 +-
.../BindyCsvDataFormatAutoConfiguration.java | 2 +-
...indyFixedLengthDataFormatAutoConfiguration.java | 2 +-
...ndyKeyValuePairDataFormatAutoConfiguration.java | 2 +-
.../BonitaComponentAutoConfiguration.java | 2 +-
.../BoonDataFormatAutoConfiguration.java | 2 +-
.../springboot/BoxComponentAutoConfiguration.java | 2 +-
.../box/springboot/BoxComponentConfiguration.java | 2 +-
.../BraintreeComponentAutoConfiguration.java | 2 +-
.../CaffeineCacheComponentAutoConfiguration.java | 2 +-
...affeineLoadCacheComponentAutoConfiguration.java | 2 +-
.../CassandraComponentAutoConfiguration.java | 2 +-
.../ChronicleEngineComponentAutoConfiguration.java | 2 +-
.../ChunkComponentAutoConfiguration.java | 2 +-
.../springboot/CMComponentAutoConfiguration.java | 2 +-
.../springboot/CMISComponentAutoConfiguration.java | 2 +-
.../springboot/CoAPComponentAutoConfiguration.java | 2 +-
.../CometdComponentAutoConfiguration.java | 2 +-
.../springboot/CometdComponentConfiguration.java | 2 +-
.../ConsulComponentAutoConfiguration.java | 2 +-
.../springboot/ConsulComponentConfiguration.java | 8 +-
.../ConsulServiceDiscoveryAutoConfiguration.java | 2 +-
.../ConsulServiceRegistryAutoConfiguration.java | 2 +-
.../ConsulClusterServiceAutoConfiguration.java | 2 +-
.../springboot/BeanComponentAutoConfiguration.java | 2 +-
.../ClassComponentAutoConfiguration.java | 2 +-
.../BrowseComponentAutoConfiguration.java | 2 +-
.../ControlBusComponentAutoConfiguration.java | 2 +-
.../DataFormatComponentAutoConfiguration.java | 2 +-
.../DataSetComponentAutoConfiguration.java | 2 +-
.../DirectComponentAutoConfiguration.java | 2 +-
.../DirectVmComponentAutoConfiguration.java | 2 +-
.../springboot/FileComponentAutoConfiguration.java | 2 +-
.../LanguageComponentAutoConfiguration.java | 2 +-
.../springboot/LogComponentAutoConfiguration.java | 2 +-
.../springboot/MockComponentAutoConfiguration.java | 2 +-
.../PropertiesComponentAutoConfiguration.java | 2 +-
.../springboot/RefComponentAutoConfiguration.java | 2 +-
.../RestApiComponentAutoConfiguration.java | 2 +-
.../springboot/RestComponentAutoConfiguration.java | 2 +-
.../springboot/SagaComponentAutoConfiguration.java | 2 +-
.../SchedulerComponentAutoConfiguration.java | 2 +-
.../springboot/SedaComponentAutoConfiguration.java | 2 +-
.../springboot/StubComponentAutoConfiguration.java | 2 +-
.../springboot/TestComponentAutoConfiguration.java | 2 +-
.../TimerComponentAutoConfiguration.java | 2 +-
.../ValidatorComponentAutoConfiguration.java | 2 +-
.../springboot/VmComponentAutoConfiguration.java | 2 +-
.../springboot/XsltComponentAutoConfiguration.java | 2 +-
.../GzipDataFormatAutoConfiguration.java | 2 +-
.../SerializationDataFormatAutoConfiguration.java | 2 +-
.../StringDataFormatAutoConfiguration.java | 2 +-
.../springboot/ZipDataFormatAutoConfiguration.java | 2 +-
.../springboot/BeanLanguageAutoConfiguration.java | 2 +-
.../ConstantLanguageAutoConfiguration.java | 2 +-
.../HeaderLanguageAutoConfiguration.java | 2 +-
.../ExchangePropertyLanguageAutoConfiguration.java | 2 +-
.../springboot/RefLanguageAutoConfiguration.java | 2 +-
.../springboot/FileLanguageAutoConfiguration.java | 2 +-
.../SimpleLanguageAutoConfiguration.java | 2 +-
.../TokenizeLanguageAutoConfiguration.java | 2 +-
.../XMLTokenizeLanguageAutoConfiguration.java | 2 +-
.../springboot/XPathLanguageAutoConfiguration.java | 2 +-
...stConfigurationDefinitionAutoConfiguration.java | 14 +-
.../RestConfigurationDefinitionProperties.java | 2 +-
.../camel/model/rest/springboot/CamelRestTest.java | 2 +-
.../CouchbaseComponentAutoConfiguration.java | 2 +-
.../CouchDbComponentAutoConfiguration.java | 2 +-
.../CryptoCmsComponentAutoConfiguration.java | 2 +-
...DigitalSignatureComponentAutoConfiguration.java | 2 +-
.../DigitalSignatureComponentConfiguration.java | 2 +-
.../CryptoDataFormatAutoConfiguration.java | 2 +-
.../springboot/PGPDataFormatAutoConfiguration.java | 2 +-
.../springboot/CsvDataFormatAutoConfiguration.java | 2 +-
.../CxfRsComponentAutoConfiguration.java | 2 +-
.../springboot/CxfComponentAutoConfiguration.java | 2 +-
.../DigitalOceanComponentAutoConfiguration.java | 2 +-
.../DisruptorComponentAutoConfiguration.java | 2 +-
.../DisruptorVmComponentAutoConfiguration.java | 2 +-
.../springboot/DnsComponentAutoConfiguration.java | 2 +-
.../cloud/DnsCloudAutoConfiguration.java | 2 +-
.../DockerComponentAutoConfiguration.java | 2 +-
.../DozerComponentAutoConfiguration.java | 2 +-
.../DrillComponentAutoConfiguration.java | 2 +-
.../DropboxComponentAutoConfiguration.java | 2 +-
.../EhcacheComponentAutoConfiguration.java | 2 +-
.../ElasticsearchComponentAutoConfiguration.java | 2 +-
.../ElsqlComponentAutoConfiguration.java | 2 +-
.../springboot/EtcdComponentAutoConfiguration.java | 2 +-
.../springboot/EtcdComponentConfiguration.java | 4 +-
.../cloud/EtcdCloudAutoConfiguration.java | 2 +-
.../springboot/ExecComponentAutoConfiguration.java | 2 +-
.../FacebookComponentAutoConfiguration.java | 2 +-
.../FastjsonDataFormatAutoConfiguration.java | 2 +-
.../springboot/FhirComponentAutoConfiguration.java | 2 +-
.../FhirJsonDataFormatAutoConfiguration.java | 2 +-
.../FhirXmlDataFormatAutoConfiguration.java | 2 +-
.../FlatpackComponentAutoConfiguration.java | 2 +-
.../FlatpackDataFormatAutoConfiguration.java | 2 +-
.../FlinkComponentAutoConfiguration.java | 2 +-
.../springboot/FopComponentAutoConfiguration.java | 2 +-
.../FreemarkerComponentAutoConfiguration.java | 2 +-
.../springboot/FtpComponentAutoConfiguration.java | 2 +-
.../springboot/FtpsComponentAutoConfiguration.java | 2 +-
.../springboot/SftpComponentAutoConfiguration.java | 2 +-
.../GangliaComponentAutoConfiguration.java | 2 +-
.../GeoCoderComponentAutoConfiguration.java | 2 +-
.../springboot/GitComponentAutoConfiguration.java | 2 +-
.../GitHubComponentAutoConfiguration.java | 2 +-
.../GoogleBigQueryComponentAutoConfiguration.java | 2 +-
.../GoogleCalendarComponentAutoConfiguration.java | 2 +-
...leCalendarStreamComponentAutoConfiguration.java | 2 +-
.../GoogleDriveComponentAutoConfiguration.java | 2 +-
.../GoogleMailComponentAutoConfiguration.java | 2 +-
...GoogleMailStreamComponentAutoConfiguration.java | 2 +-
.../GooglePubsubComponentAutoConfiguration.java | 2 +-
.../springboot/GoraComponentAutoConfiguration.java | 2 +-
.../GroovyLanguageAutoConfiguration.java | 2 +-
.../springboot/GrpcComponentAutoConfiguration.java | 2 +-
.../GsonDataFormatAutoConfiguration.java | 2 +-
.../GuavaEventBusComponentAutoConfiguration.java | 2 +-
...castAtomicnumberComponentAutoConfiguration.java | 2 +-
...azelcastInstanceComponentAutoConfiguration.java | 2 +-
.../HazelcastListComponentAutoConfiguration.java | 2 +-
.../HazelcastMapComponentAutoConfiguration.java | 2 +-
...azelcastMultimapComponentAutoConfiguration.java | 2 +-
.../HazelcastQueueComponentAutoConfiguration.java | 2 +-
...astReplicatedmapComponentAutoConfiguration.java | 2 +-
...elcastRingbufferComponentAutoConfiguration.java | 2 +-
.../HazelcastSedaComponentAutoConfiguration.java | 2 +-
.../HazelcastSetComponentAutoConfiguration.java | 2 +-
.../HazelcastTopicComponentAutoConfiguration.java | 2 +-
.../HBaseComponentAutoConfiguration.java | 2 +-
.../springboot/HdfsComponentAutoConfiguration.java | 2 +-
.../HipchatComponentAutoConfiguration.java | 2 +-
.../springboot/HL7DataFormatAutoConfiguration.java | 2 +-
.../TerserLanguageAutoConfiguration.java | 2 +-
.../springboot/HttpComponentAutoConfiguration.java | 2 +-
.../springboot/HttpComponentConfiguration.java | 8 +-
.../springboot/HystrixAutoConfiguration.java | 2 +-
.../ICalDataFormatAutoConfiguration.java | 2 +-
.../ClientComponentAutoConfiguration.java | 2 +-
.../ServerComponentAutoConfiguration.java | 2 +-
.../IgniteCacheComponentAutoConfiguration.java | 2 +-
.../IgniteComputeComponentAutoConfiguration.java | 2 +-
.../IgniteEventsComponentAutoConfiguration.java | 2 +-
.../IgniteIdGenComponentAutoConfiguration.java | 2 +-
.../IgniteMessagingComponentAutoConfiguration.java | 2 +-
.../IgniteQueueComponentAutoConfiguration.java | 2 +-
.../IgniteSetComponentAutoConfiguration.java | 2 +-
.../InfinispanComponentAutoConfiguration.java | 2 +-
.../InfluxDbComponentAutoConfiguration.java | 2 +-
.../springboot/IrcComponentAutoConfiguration.java | 2 +-
.../IronMQComponentAutoConfiguration.java | 2 +-
.../JacksonDataFormatAutoConfiguration.java | 2 +-
.../JacksonXMLDataFormatAutoConfiguration.java | 2 +-
.../JaxbDataFormatAutoConfiguration.java | 2 +-
.../springboot/JBPMComponentAutoConfiguration.java | 2 +-
.../JCacheComponentAutoConfiguration.java | 2 +-
.../JcloudsComponentAutoConfiguration.java | 2 +-
.../springboot/JcrComponentAutoConfiguration.java | 2 +-
.../springboot/JdbcComponentAutoConfiguration.java | 2 +-
.../JettyHttpComponentAutoConfiguration9.java | 2 +-
.../JettyHttpComponentConfiguration9.java | 2 +-
.../JGroupsComponentAutoConfiguration.java | 2 +-
...JGroupsLockClusterServiceAutoConfiguration.java | 2 +-
.../JibxDataFormatAutoConfiguration.java | 2 +-
.../springboot/JingComponentAutoConfiguration.java | 2 +-
.../springboot/JmsComponentAutoConfiguration.java | 2 +-
.../springboot/JMXComponentAutoConfiguration.java | 2 +-
.../JohnzonDataFormatAutoConfiguration.java | 2 +-
.../springboot/JoltComponentAutoConfiguration.java | 2 +-
.../springboot/JpaComponentAutoConfiguration.java | 2 +-
.../springboot/ScpComponentAutoConfiguration.java | 2 +-
.../JsonValidatorComponentAutoConfiguration.java | 2 +-
.../JsonPathLanguageAutoConfiguration.java | 2 +-
.../Jt400ComponentAutoConfiguration.java | 2 +-
.../KafkaComponentAutoConfiguration.java | 2 +-
.../springboot/KafkaComponentConfiguration.java | 2 +-
...rnetesConfigMapsComponentAutoConfiguration.java | 2 +-
...netesDeploymentsComponentAutoConfiguration.java | 2 +-
.../KubernetesHPAComponentAutoConfiguration.java | 2 +-
.../KubernetesJobComponentAutoConfiguration.java | 2 +-
...rnetesNamespacesComponentAutoConfiguration.java | 2 +-
.../KubernetesNodesComponentAutoConfiguration.java | 2 +-
...ersistentVolumesComponentAutoConfiguration.java | 2 +-
...entVolumesClaimsComponentAutoConfiguration.java | 2 +-
.../KubernetesPodsComponentAutoConfiguration.java | 2 +-
...ationControllersComponentAutoConfiguration.java | 2 +-
...esResourcesQuotaComponentAutoConfiguration.java | 2 +-
...ubernetesSecretsComponentAutoConfiguration.java | 2 +-
...sServiceAccountsComponentAutoConfiguration.java | 2 +-
...bernetesServicesComponentAutoConfiguration.java | 2 +-
...ubernetesServiceDiscoveryAutoConfiguration.java | 2 +-
.../KubernetesClusterServiceAutoConfiguration.java | 2 +-
...hiftBuildConfigsComponentAutoConfiguration.java | 2 +-
.../OpenshiftBuildsComponentAutoConfiguration.java | 2 +-
.../springboot/LdapComponentAutoConfiguration.java | 2 +-
.../springboot/LdifComponentAutoConfiguration.java | 2 +-
.../LinkedInComponentAutoConfiguration.java | 2 +-
.../springboot/LraServiceAutoConfiguration.java | 2 +-
.../LuceneComponentAutoConfiguration.java | 2 +-
.../LumberjackComponentAutoConfiguration.java | 2 +-
.../LumberjackComponentConfiguration.java | 2 +-
.../springboot/LZFDataFormatAutoConfiguration.java | 2 +-
.../springboot/MailComponentAutoConfiguration.java | 2 +-
.../springboot/MailComponentConfiguration.java | 2 +-
.../MimeMultipartDataFormatAutoConfiguration.java | 2 +-
.../MasterComponentAutoConfiguration.java | 2 +-
.../MetricsComponentAutoConfiguration.java | 2 +-
.../MicrometerComponentAutoConfiguration.java | 2 +-
.../MiloClientComponentAutoConfiguration.java | 2 +-
.../MiloServerComponentAutoConfiguration.java | 2 +-
.../Mina2ComponentAutoConfiguration.java | 2 +-
.../springboot/Mina2ComponentConfiguration.java | 2 +-
.../springboot/MllpComponentAutoConfiguration.java | 2 +-
.../GridFsComponentAutoConfiguration.java | 2 +-
.../MongoDbComponentAutoConfiguration.java | 2 +-
.../springboot/MQTTComponentAutoConfiguration.java | 2 +-
.../springboot/MsvComponentAutoConfiguration.java | 2 +-
.../MustacheComponentAutoConfiguration.java | 2 +-
.../springboot/MvelComponentAutoConfiguration.java | 2 +-
.../springboot/MvelLanguageAutoConfiguration.java | 2 +-
.../MyBatisBeanComponentAutoConfiguration.java | 2 +-
.../MyBatisComponentAutoConfiguration.java | 2 +-
.../NagiosComponentAutoConfiguration.java | 2 +-
.../springboot/NatsComponentAutoConfiguration.java | 2 +-
.../NettyHttpComponentAutoConfiguration.java | 2 +-
.../NettyHttpComponentConfiguration.java | 2 +-
.../NettyComponentAutoConfiguration.java | 2 +-
.../springboot/NettyComponentConfiguration.java | 4 +-
.../springboot/OgnlLanguageAutoConfiguration.java | 2 +-
.../Olingo2ComponentAutoConfiguration.java | 2 +-
.../springboot/Olingo2ComponentConfiguration.java | 2 +-
.../Olingo4ComponentAutoConfiguration.java | 2 +-
.../springboot/Olingo4ComponentConfiguration.java | 2 +-
.../CinderComponentAutoConfiguration.java | 2 +-
.../GlanceComponentAutoConfiguration.java | 2 +-
.../KeystoneComponentAutoConfiguration.java | 2 +-
.../NeutronComponentAutoConfiguration.java | 2 +-
.../springboot/NovaComponentAutoConfiguration.java | 2 +-
.../SwiftComponentAutoConfiguration.java | 2 +-
.../OptaPlannerComponentAutoConfiguration.java | 2 +-
.../springboot/PahoComponentAutoConfiguration.java | 2 +-
.../springboot/PdfComponentAutoConfiguration.java | 2 +-
.../PgEventComponentAutoConfiguration.java | 2 +-
.../PrinterComponentAutoConfiguration.java | 2 +-
.../ProtobufDataFormatAutoConfiguration.java | 2 +-
.../PubNubComponentAutoConfiguration.java | 2 +-
.../QuartzComponentAutoConfiguration.java | 2 +-
.../QuickfixjComponentAutoConfiguration.java | 2 +-
.../RabbitMQComponentAutoConfiguration.java | 2 +-
.../ReactiveStreamsComponentAutoConfiguration.java | 2 +-
.../ReactiveStreamsServiceAutoConfiguration.java | 2 +-
.../RestSwaggerComponentAutoConfiguration.java | 2 +-
.../RestSwaggerComponentConfiguration.java | 2 +-
.../RestletComponentAutoConfiguration.java | 2 +-
.../springboot/RestletComponentConfiguration.java | 2 +-
.../cloud/RibbonCloudAutoConfiguration.java | 2 +-
.../springboot/RmiComponentAutoConfiguration.java | 2 +-
.../springboot/RssComponentAutoConfiguration.java | 2 +-
.../springboot/RssDataFormatAutoConfiguration.java | 2 +-
.../SalesforceComponentAutoConfiguration.java | 2 +-
.../SalesforceComponentConfiguration.java | 250 ++---
.../NetWeaverComponentAutoConfiguration.java | 2 +-
.../XQueryComponentAutoConfiguration.java | 2 +-
.../XQueryLanguageAutoConfiguration.java | 2 +-
.../SchematronComponentAutoConfiguration.java | 2 +-
.../JavaScriptLanguageAutoConfiguration.java | 2 +-
.../ServiceComponentAutoConfiguration.java | 2 +-
.../ServiceNowComponentAutoConfiguration.java | 2 +-
.../ServiceNowComponentConfiguration.java | 2 +-
.../ServletComponentAutoConfiguration.java | 2 +-
.../springboot/SipComponentAutoConfiguration.java | 2 +-
.../SjmsBatchComponentAutoConfiguration.java | 2 +-
.../springboot/SjmsComponentAutoConfiguration.java | 2 +-
.../Sjms2ComponentAutoConfiguration.java | 2 +-
.../SlackComponentAutoConfiguration.java | 2 +-
.../springboot/SmppComponentAutoConfiguration.java | 2 +-
.../SnakeYAMLDataFormatAutoConfiguration.java | 2 +-
.../springboot/SnmpComponentAutoConfiguration.java | 2 +-
.../SoapJaxbDataFormatAutoConfiguration.java | 2 +-
.../springboot/SolrComponentAutoConfiguration.java | 2 +-
.../SparkComponentAutoConfiguration.java | 2 +-
.../SplunkComponentAutoConfiguration.java | 2 +-
.../SpringBatchComponentAutoConfiguration.java | 2 +-
...pringIntegrationComponentAutoConfiguration.java | 2 +-
.../SpringLdapComponentAutoConfiguration.java | 2 +-
.../RedisComponentAutoConfiguration.java | 2 +-
.../EventComponentAutoConfiguration.java | 2 +-
.../springboot/SpelLanguageAutoConfiguration.java | 2 +-
...SpringWebserviceComponentAutoConfiguration.java | 2 +-
.../springboot/SqlComponentAutoConfiguration.java | 2 +-
.../SqlStoredComponentAutoConfiguration.java | 2 +-
.../springboot/SshComponentAutoConfiguration.java | 2 +-
.../springboot/StAXComponentAutoConfiguration.java | 2 +-
.../StompComponentAutoConfiguration.java | 2 +-
.../springboot/StompComponentConfiguration.java | 2 +-
.../StreamComponentAutoConfiguration.java | 2 +-
.../StringTemplateComponentAutoConfiguration.java | 2 +-
.../SyslogDataFormatAutoConfiguration.java | 2 +-
.../TidyMarkupDataFormatAutoConfiguration.java | 2 +-
.../TarFileDataFormatAutoConfiguration.java | 2 +-
.../TelegramComponentAutoConfiguration.java | 2 +-
.../ThriftComponentAutoConfiguration.java | 2 +-
.../ThriftDataFormatAutoConfiguration.java | 2 +-
.../springboot/TikaComponentAutoConfiguration.java | 2 +-
.../TwilioComponentAutoConfiguration.java | 2 +-
...terDirectMessageComponentAutoConfiguration.java | 2 +-
.../TwitterSearchComponentAutoConfiguration.java | 2 +-
...TwitterStreamingComponentAutoConfiguration.java | 2 +-
.../TwitterTimelineComponentAutoConfiguration.java | 2 +-
.../UndertowComponentAutoConfiguration.java | 2 +-
.../springboot/UndertowComponentConfiguration.java | 2 +-
.../UniVocityCsvDataFormatAutoConfiguration.java | 2 +-
...ocityFixedWidthDataFormatAutoConfiguration.java | 2 +-
.../UniVocityTsvDataFormatAutoConfiguration.java | 2 +-
.../VelocityComponentAutoConfiguration.java | 2 +-
.../VertxComponentAutoConfiguration.java | 2 +-
.../WeatherComponentAutoConfiguration.java | 2 +-
.../Web3jComponentAutoConfiguration.java | 2 +-
.../WebsocketComponentAutoConfiguration.java | 2 +-
.../WebsocketComponentConfiguration.java | 2 +-
.../WordpressComponentAutoConfiguration.java | 2 +-
.../XChangeComponentAutoConfiguration.java | 2 +-
.../XmlSignatureComponentAutoConfiguration.java | 2 +-
.../XMLSecurityDataFormatAutoConfiguration.java | 2 +-
.../springboot/XmppComponentAutoConfiguration.java | 2 +-
.../JsonDataFormatAutoConfiguration.java | 2 +-
.../XStreamDataFormatAutoConfiguration.java | 2 +-
.../YammerComponentAutoConfiguration.java | 2 +-
.../springboot/YqlComponentAutoConfiguration.java | 2 +-
.../ZendeskComponentAutoConfiguration.java | 2 +-
.../ZipFileDataFormatAutoConfiguration.java | 2 +-
.../MasterComponentAutoConfiguration.java | 2 +-
.../ZooKeeperComponentAutoConfiguration.java | 2 +-
.../ZooKeeperServiceRegistryAutoConfiguration.java | 2 +-
.../ZooKeeperClusterServiceAutoConfiguration.java | 2 +-
.../org/apache/camel/itest/cdi/CamelCdiTest.java | 2 +-
.../apache/camel/itest/async/HttpAsyncDslTest.java | 2 +-
.../camel/itest/async/HttpJmsAsyncTimeoutTest.java | 2 +-
.../apache/camel/itest/async/MyAsyncComponent.java | 2 +-
.../apache/camel/itest/async/MyAsyncEndpoint.java | 2 +-
.../apache/camel/itest/async/MyAsyncProducer.java | 2 +-
.../camel/itest/issues/RemoveEndpointsTest.java | 2 +-
.../camel/itest/jetty/JettyFreemarkerTest.java | 2 +-
.../camel/itest/jetty/JettyVelocityTest.java | 2 +-
.../apache/camel/itest/jetty/JettyXsltTest.java | 2 +-
.../apache/camel/itest/jms/DynamicRouteTest.java | 2 +-
.../org/apache/camel/itest/jms/JmsHttpJmsTest.java | 2 +-
.../camel/itest/jms/JmsHttpPostIssueTest.java | 2 +-
.../itest/jms/JmsHttpPostIssueWithMockTest.java | 2 +-
.../apache/camel/itest/jms/JmsIntegrationTest.java | 2 +-
.../org/apache/camel/itest/jms/JmsJaxbTest.java | 2 +-
.../apache/camel/itest/jms/JmsJettyAsyncTest.java | 2 +-
.../apache/camel/itest/jms/JmsPerformanceTest.java | 2 +-
.../apache/camel/itest/jms/JmsPollEnrichTest.java | 2 +-
.../apache/camel/itest/jms/JmsResequencerTest.java | 2 +-
.../apache/camel/itest/jms/JmsValidatorTest.java | 2 +-
.../itest/netty/NettyAsyncRequestReplyTest.java | 2 +-
.../apache/camel/itest/shiro/ShiroOverJmsTest.java | 2 +-
.../camel/itest/jmh/SimpleExpressionTest.java | 2 +-
.../maven/AbstractApiMethodGeneratorMojo.java | 6 +-
.../apache/camel/maven/DocumentGeneratorMojo.java | 10 +-
.../camel/maven/JavadocApiMethodGeneratorMojo.java | 2 +-
.../src/main/resources/api-collection.vm | 6 +-
.../src/main/resources/api-method-enum.vm | 8 +-
.../src/main/resources/api-name-enum.vm | 2 +-
.../packaging/SpringBootAutoConfigurationMojo.java | 20 +-
tooling/maven/camel-restdsl-swagger-plugin/pom.xml | 2 +
.../camel/generator/swagger/OperationFilter.java | 2 +-
2741 files changed, 29157 insertions(+), 29765 deletions(-)
diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Component.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Component.java
index 2c55945..c788889 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Component.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Component.java
@@ -18,7 +18,7 @@ package ${package};
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
-import org.apache.camel.util.component.AbstractApiComponent;
+import org.apache.camel.support.component.AbstractApiComponent;
import ${package}.internal.${name}ApiCollection;
import ${package}.internal.${name}ApiName;
diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Consumer.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Consumer.java
index d493267..dd3e7d0 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Consumer.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Consumer.java
@@ -17,7 +17,7 @@
package ${package};
import org.apache.camel.Processor;
-import org.apache.camel.util.component.AbstractApiConsumer;
+import org.apache.camel.support.component.AbstractApiConsumer;
import ${package}.internal.${name}ApiName;
diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java
index f41278f..9ae2c6b 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java
@@ -24,9 +24,9 @@ import org.apache.camel.Producer;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.component.AbstractApiEndpoint;
-import org.apache.camel.util.component.ApiMethod;
-import org.apache.camel.util.component.ApiMethodPropertiesHelper;
+import org.apache.camel.support.component.AbstractApiEndpoint;
+import org.apache.camel.support.component.ApiMethod;
+import org.apache.camel.support.component.ApiMethodPropertiesHelper;
import ${package}.api.${name}FileHello;
import ${package}.api.${name}JavadocHello;
diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Producer.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Producer.java
index c75c87e..5bcfc5d 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Producer.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Producer.java
@@ -16,7 +16,7 @@
## ------------------------------------------------------------------------
package ${package};
-import org.apache.camel.util.component.AbstractApiProducer;
+import org.apache.camel.support.component.AbstractApiProducer;
import ${package}.internal.${name}ApiName;
import ${package}.internal.${name}PropertiesHelper;
diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/internal/__name__PropertiesHelper.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/internal/__name__PropertiesHelper.java
index fe6910c..0968bed 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/internal/__name__PropertiesHelper.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/internal/__name__PropertiesHelper.java
@@ -16,7 +16,7 @@
## ------------------------------------------------------------------------
package ${package}.internal;
-import org.apache.camel.util.component.ApiMethodPropertiesHelper;
+import org.apache.camel.support.component.ApiMethodPropertiesHelper;
import ${package}.${name}Configuration;
diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/test/java/Abstract__name__TestSupport.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/test/java/Abstract__name__TestSupport.java
index 94c1fdc..1613e9d 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/test/java/Abstract__name__TestSupport.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/test/java/Abstract__name__TestSupport.java
@@ -25,7 +25,7 @@ import java.util.Properties;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.support.IntrospectionSupport;
/**
* Abstract base class for ${name} Integration tests generated by Camel API component maven plugin.
diff --git a/camel-core/src/main/docs/eips/aggregate-eip.adoc b/camel-core/src/main/docs/eips/aggregate-eip.adoc
index 40e110d..1dacb70 100644
--- a/camel-core/src/main/docs/eips/aggregate-eip.adoc
+++ b/camel-core/src/main/docs/eips/aggregate-eip.adoc
@@ -491,7 +491,7 @@ public class MyBodyAppender {
And then in the Camel route we create an instance of our bean, and then
refer to the bean in the route using `bean` method from
-`org.apache.camel.util.toolbox.AggregationStrategies` as shown:
+`org.apache.camel.builder.AggregationStrategies` as shown:
[source,java]
----
diff --git a/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java b/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java
index e83130e..27da13e 100644
--- a/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java
@@ -21,7 +21,7 @@ package org.apache.camel;
* and signal completion by invoking the {@link AsyncCallback}.
* <p/>
* Any processor can be coerced to have an {@link AsyncProcessor} interface by using the
- * {@link org.apache.camel.util.AsyncProcessorConverterHelper#convert AsyncProcessorConverterHelper.convert}
+ * {@link org.apache.camel.support.AsyncProcessorConverterHelper#convert AsyncProcessorConverterHelper.convert}
* method.
*/
public interface AsyncProcessor extends Processor {
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 3b32433..741475c 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelContext.java
@@ -70,9 +70,7 @@ import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
-import org.apache.camel.util.LoadPropertiesException;
-import org.apache.camel.util.ValueHolder;
-import org.apache.camel.util.jsse.SSLContextParameters;
+import org.apache.camel.support.jsse.SSLContextParameters;
/**
* Interface used to represent the CamelContext used to configure routes and the
@@ -480,7 +478,7 @@ public interface CamelContext extends SuspendableService, RuntimeConfiguration {
* @param pattern an uri or pattern to match
* @return a collection of endpoints removed which could be empty if there are no endpoints found for the given <tt>pattern</tt>
* @throws Exception if at least one endpoint could not be stopped
- * @see org.apache.camel.util.EndpointHelper#matchEndpoint(CamelContext, String, String) for pattern
+ * @see org.apache.camel.support.EndpointHelper#matchEndpoint(CamelContext, String, String) for pattern
*/
Collection<Endpoint> removeEndpoints(String pattern) throws Exception;
diff --git a/camel-core/src/main/java/org/apache/camel/CamelContextAware.java b/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
index 504b8d2..53afae9 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
@@ -35,5 +35,16 @@ public interface CamelContextAware {
* @return camelContext the Camel context
*/
CamelContext getCamelContext();
-
+
+ /**
+ * Set the {@link CamelContext} context if the component is an instance of {@link CamelContextAware}.
+ */
+ static <T> T trySetCamelContext(T object, CamelContext camelContext) {
+ if (object instanceof CamelContextAware) {
+ ((CamelContextAware) object).setCamelContext(camelContext);
+ }
+
+ return object;
+ }
+
}
diff --git a/camel-core/src/main/java/org/apache/camel/CamelExecutionException.java b/camel-core/src/main/java/org/apache/camel/CamelExecutionException.java
index 560d352..9de056c 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelExecutionException.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelExecutionException.java
@@ -32,4 +32,20 @@ public class CamelExecutionException extends RuntimeExchangeException {
public CamelExecutionException(String message, Exchange exchange, Throwable cause) {
super(message, exchange, cause);
}
+
+ /**
+ * Wraps the caused exception in a {@link CamelExecutionException} if its not
+ * already such an exception.
+ *
+ * @param e the caused exception
+ * @return the wrapper exception
+ */
+ public static CamelExecutionException wrapCamelExecutionException(Exchange exchange, Throwable e) {
+ if (e instanceof CamelExecutionException) {
+ // don't double wrap
+ return (CamelExecutionException) e;
+ } else {
+ return new CamelExecutionException("Exception occurred during execution", exchange, e);
+ }
+ }
}
diff --git a/camel-core/src/main/java/org/apache/camel/Component.java b/camel-core/src/main/java/org/apache/camel/Component.java
index 26280a9..43a0377 100644
--- a/camel-core/src/main/java/org/apache/camel/Component.java
+++ b/camel-core/src/main/java/org/apache/camel/Component.java
@@ -72,4 +72,16 @@ public interface Component extends CamelContextAware {
default <T extends ComponentExtension> Optional<T> getExtension(Class<T> extensionType) {
return Optional.empty();
}
+
+ /**
+ * Set the {@link Component} context if the component is an instance of {@link ComponentAware}.
+ */
+ static <T> T trySetComponent(T object, Component component) {
+ if (object instanceof ComponentAware) {
+ ((ComponentAware) object).setComponent(component);
+ }
+
+ return object;
+ }
+
}
diff --git a/camel-core/src/main/java/org/apache/camel/Exchange.java b/camel-core/src/main/java/org/apache/camel/Exchange.java
index 2382e85..63ed450 100644
--- a/camel-core/src/main/java/org/apache/camel/Exchange.java
+++ b/camel-core/src/main/java/org/apache/camel/Exchange.java
@@ -56,7 +56,7 @@ import org.apache.camel.spi.UnitOfWork;
* an out, depending on the nature of the {@link Processor}. The in {@link Message} can be accessed
* using the {@link #getIn()} method. Since the out message is null when entering the {@link Processor},
* the {@link #getOut()} method is actually a convenient factory method that will lazily instantiate a
- * {@link org.apache.camel.impl.DefaultMessage} which you could populate. As an alternative you could
+ * {@link org.apache.camel.support.DefaultMessage} which you could populate. As an alternative you could
* also instantiate your specialized {@link Message} and set it on the exchange using the
* {@link #setOut(org.apache.camel.Message)} method. Please note that a {@link Message} contains not only
* the body but also headers and attachments. If you are creating a new {@link Message} the headers and
diff --git a/camel-core/src/main/java/org/apache/camel/FailedToCreateRouteException.java b/camel-core/src/main/java/org/apache/camel/FailedToCreateRouteException.java
index d6f9388..8d8a56b 100644
--- a/camel-core/src/main/java/org/apache/camel/FailedToCreateRouteException.java
+++ b/camel-core/src/main/java/org/apache/camel/FailedToCreateRouteException.java
@@ -31,7 +31,7 @@ public class FailedToCreateRouteException extends CamelException {
}
public FailedToCreateRouteException(String routeId, String route, String at, Throwable cause) {
- super("Failed to create route " + routeId + " at: >>> " + at + " <<< in route: " + getRouteMessage(route) + " because of " + cause.getMessage(), cause);
+ super("Failed to create route " + routeId + " at: >>> " + at + " <<< in route: " + getRouteMessage(route) + " because of " + getExceptionMessage(cause), cause);
this.routeId = routeId;
}
@@ -40,11 +40,7 @@ public class FailedToCreateRouteException extends CamelException {
}
protected static String getExceptionMessage(Throwable cause) {
- if (cause.getMessage() != null) {
- return cause.getMessage();
- } else {
- return cause.getClass().getSimpleName();
- }
+ return cause.getMessage() != null ? cause.getMessage() : cause.getClass().getSimpleName();
}
protected static String getRouteMessage(String route) {
@@ -59,4 +55,5 @@ public class FailedToCreateRouteException extends CamelException {
return route;
}
}
+
}
\ No newline at end of file
diff --git a/camel-core/src/main/java/org/apache/camel/LoadPropertiesException.java b/camel-core/src/main/java/org/apache/camel/LoadPropertiesException.java
new file mode 100644
index 0000000..8a1e8f9
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/LoadPropertiesException.java
@@ -0,0 +1,36 @@
+/**
+ * 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;
+
+import java.net.URL;
+
+/**
+ * Represents a failure to open a Properties file at a given URL
+ */
+public class LoadPropertiesException extends CamelException {
+ private static final long serialVersionUID = 3684303677685065529L;
+ private final URL url;
+
+ public LoadPropertiesException(URL url, Exception cause) {
+ super("Failed to load URL: " + url + ". Reason: " + cause, cause);
+ this.url = url;
+ }
+
+ public URL getUrl() {
+ return url;
+ }
+}
diff --git a/camel-core/src/main/java/org/apache/camel/Message.java b/camel-core/src/main/java/org/apache/camel/Message.java
index eb00b85..da34643 100644
--- a/camel-core/src/main/java/org/apache/camel/Message.java
+++ b/camel-core/src/main/java/org/apache/camel/Message.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.HeadersMapFactory;
* href="http://camel.apache.org/message.html">Message</a> pattern and
* represents an inbound or outbound message as part of an {@link Exchange}.
* <p/>
- * See {@link org.apache.camel.impl.DefaultMessage DefaultMessage} for how headers
+ * See {@link org.apache.camel.support.DefaultMessage DefaultMessage} for how headers
* is represented in Camel using a {@link org.apache.camel.util.CaseInsensitiveMap CaseInsensitiveMap}.
* The implementation of the map can be configured by the {@link HeadersMapFactory} which can be set
* on the {@link CamelContext}. The default implementation uses the {@link org.apache.camel.util.CaseInsensitiveMap CaseInsensitiveMap}.
@@ -173,7 +173,7 @@ public interface Message {
/**
* Returns all of the headers associated with the message.
* <p/>
- * See {@link org.apache.camel.impl.DefaultMessage DefaultMessage} for how headers
+ * See {@link org.apache.camel.support.DefaultMessage DefaultMessage} for how headers
* is represented in Camel using a {@link org.apache.camel.util.CaseInsensitiveMap CaseInsensitiveMap}.
* The implementation of the map can be configured by the {@link HeadersMapFactory} which can be set
* on the {@link CamelContext}. The default implementation uses the {@link org.apache.camel.util.CaseInsensitiveMap CaseInsensitiveMap}.
diff --git a/camel-core/src/main/java/org/apache/camel/NoSuchHeaderException.java b/camel-core/src/main/java/org/apache/camel/NoSuchHeaderException.java
index d12f052..352e6af 100644
--- a/camel-core/src/main/java/org/apache/camel/NoSuchHeaderException.java
+++ b/camel-core/src/main/java/org/apache/camel/NoSuchHeaderException.java
@@ -20,7 +20,7 @@ package org.apache.camel;
* An exception caused when a mandatory header is not available on a message
* {@link Exchange}
*
- * @see org.apache.camel.util.ExchangeHelper#getMandatoryHeader(Exchange, String, Class)
+ * @see org.apache.camel.support.ExchangeHelper#getMandatoryHeader(Exchange, String, Class)
*/
public class NoSuchHeaderException extends CamelExchangeException {
private static final long serialVersionUID = -8721487431101572630L;
diff --git a/camel-core/src/main/java/org/apache/camel/NoSuchPropertyException.java b/camel-core/src/main/java/org/apache/camel/NoSuchPropertyException.java
index 0de94e1..576d4f9 100644
--- a/camel-core/src/main/java/org/apache/camel/NoSuchPropertyException.java
+++ b/camel-core/src/main/java/org/apache/camel/NoSuchPropertyException.java
@@ -20,7 +20,8 @@ package org.apache.camel;
* An exception caused when a mandatory property is not available on a message
* {@link Exchange}
*
- * @see org.apache.camel.util.ExchangeHelper#getMandatoryProperty(Exchange, String, Class)
+ * @see org.apache.camel.support.ExchangeHelper#getMandatoryProperty(Exchange, String, Class)
+ *
*/
public class NoSuchPropertyException extends CamelExchangeException {
private static final long serialVersionUID = -8721487431101572630L;
diff --git a/camel-core/src/main/java/org/apache/camel/PollingConsumerPollingStrategy.java b/camel-core/src/main/java/org/apache/camel/PollingConsumerPollingStrategy.java
index 88f57e8..2891335 100644
--- a/camel-core/src/main/java/org/apache/camel/PollingConsumerPollingStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/PollingConsumerPollingStrategy.java
@@ -22,7 +22,7 @@ package org.apache.camel;
* For example this is used by schedule based consumers to be able to suspend/resume
* upon polling using a {@link PollingConsumer}.
*
- * @see org.apache.camel.impl.EventDrivenPollingConsumer
+ * @see org.apache.camel.support.EventDrivenPollingConsumer
*/
public interface PollingConsumerPollingStrategy {
diff --git a/camel-core/src/main/java/org/apache/camel/Rejectable.java b/camel-core/src/main/java/org/apache/camel/Rejectable.java
deleted file mode 100644
index bddbe6c..0000000
--- a/camel-core/src/main/java/org/apache/camel/Rejectable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * 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;
-
-/**
- * Reject executing or processing some task.
- */
-public interface Rejectable {
-
- /**
- * The task was rejected.
- */
- void reject();
-
-}
diff --git a/camel-core/src/main/java/org/apache/camel/RuntimeCamelException.java b/camel-core/src/main/java/org/apache/camel/RuntimeCamelException.java
index 7f3c4b7..c072ecf 100644
--- a/camel-core/src/main/java/org/apache/camel/RuntimeCamelException.java
+++ b/camel-core/src/main/java/org/apache/camel/RuntimeCamelException.java
@@ -36,4 +36,20 @@ public class RuntimeCamelException extends RuntimeException {
public RuntimeCamelException(Throwable cause) {
super(cause);
}
+
+ /**
+ * Wraps the caused exception in a {@link RuntimeCamelException} if its not
+ * already such an exception.
+ *
+ * @param e the caused exception
+ * @return the wrapper exception
+ */
+ public static RuntimeCamelException wrapRuntimeCamelException(Throwable e) {
+ if (e instanceof RuntimeCamelException) {
+ // don't double wrap
+ return (RuntimeCamelException) e;
+ } else {
+ return new RuntimeCamelException(e);
+ }
+ }
}
diff --git a/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java b/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java
index 7c10e20..c0dc1fb 100644
--- a/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java
+++ b/camel-core/src/main/java/org/apache/camel/SSLContextParametersAware.java
@@ -16,7 +16,7 @@
*/
package org.apache.camel;
-import org.apache.camel.util.jsse.SSLContextParameters;
+import org.apache.camel.support.jsse.SSLContextParameters;
/**
* Indicates that an object is able to use the global {@link SSLContextParameters} if configured.
diff --git a/camel-core/src/main/java/org/apache/camel/ThreadPoolRejectedPolicy.java b/camel-core/src/main/java/org/apache/camel/ThreadPoolRejectedPolicy.java
deleted file mode 100644
index b3b5f19..0000000
--- a/camel-core/src/main/java/org/apache/camel/ThreadPoolRejectedPolicy.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * 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;
-
-import java.util.concurrent.RejectedExecutionException;
-import java.util.concurrent.RejectedExecutionHandler;
-import java.util.concurrent.ThreadPoolExecutor;
-
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
-
-/**
- * Represent the kinds of options for rejection handlers for thread pools.
- * <p/>
- * These options are used for fine grained thread pool settings, where you
- * want to control which handler to use when a thread pool cannot execute
- * a new task.
- * <p/>
- * Camel will by default use <tt>CallerRuns</tt>.
- */
-@XmlType
-@XmlEnum
-public enum ThreadPoolRejectedPolicy {
-
- Abort, CallerRuns, DiscardOldest, Discard;
-
- public RejectedExecutionHandler asRejectedExecutionHandler() {
- if (this == Abort) {
- return new RejectedExecutionHandler() {
- @Override
- public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
- if (r instanceof Rejectable) {
- ((Rejectable)r).reject();
- } else {
- throw new RejectedExecutionException("Task " + r.toString() + " rejected from " + executor.toString());
- }
- }
-
- @Override
- public String toString() {
- return "Abort";
- }
- };
- } else if (this == CallerRuns) {
- return new ThreadPoolExecutor.CallerRunsPolicy() {
- @Override
- public String toString() {
- return "CallerRuns";
- }
- };
- } else if (this == DiscardOldest) {
- return new RejectedExecutionHandler() {
- @Override
- public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
- if (!executor.isShutdown()) {
- Runnable rejected = executor.getQueue().poll();
- if (rejected instanceof Rejectable) {
- ((Rejectable) rejected).reject();
- }
- executor.execute(r);
- }
- }
-
- @Override
- public String toString() {
- return "DiscardOldest";
- }
- };
- } else if (this == Discard) {
- return new RejectedExecutionHandler() {
- @Override
- public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
- if (r instanceof Rejectable) {
- ((Rejectable) r).reject();
- }
- }
-
- @Override
- public String toString() {
- return "Discard";
- }
- };
- }
- throw new IllegalArgumentException("Unknown ThreadPoolRejectedPolicy: " + this);
- }
-
-}
diff --git a/camel-core/src/main/java/org/apache/camel/ValueHolder.java b/camel-core/src/main/java/org/apache/camel/ValueHolder.java
new file mode 100644
index 0000000..2b56507
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/ValueHolder.java
@@ -0,0 +1,55 @@
+/**
+ * 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;
+
+/**
+ * Holder object for a given value.
+ */
+public class ValueHolder<V> {
+ private final V value;
+
+ public ValueHolder(V val) {
+ value = val;
+ }
+
+ public V get() {
+ return value;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+
+ ValueHolder<?> that = (ValueHolder<?>) o;
+
+ if (value != null ? !value.equals(that.value) : that.value != null) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return value != null ? value.hashCode() : 0;
+ }
+}
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java b/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java
deleted file mode 100644
index cd61df9..0000000
--- a/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * 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.api.management;
-
-import org.apache.camel.Exchange;
-
-/**
- * A counter that gathers performance metrics when an {@link org.apache.camel.Exchange} is routed in Camel.
- */
-public interface PerformanceCounter {
-
- /**
- * Executed when an {@link org.apache.camel.Exchange} is about to be processed.
- *
- * @param exchange the exchange
- */
- void processExchange(Exchange exchange);
-
- /**
- * Executed when an {@link org.apache.camel.Exchange} is complete.
- *
- * @param exchange the exchange
- * @param time the time it took in millis to complete
- */
- void completedExchange(Exchange exchange, long time);
-
- /**
- * Executed when an {@link org.apache.camel.Exchange} failed.
- *
- * @param exchange the exchange
- */
- void failedExchange(Exchange exchange);
-
- /**
- * Are statistics enabled?
- * <p/>
- * They can be enabled and disabled at runtime
- *
- * @return whether statistics are enabled or not
- */
- boolean isStatisticsEnabled();
-
- /**
- * Sets whether statistics are enabled.
- * <p/>
- * They can be enabled and disabled at runtime
- *
- * @param statisticsEnabled whether statistics are enabled or not
- */
- void setStatisticsEnabled(boolean statisticsEnabled);
-
-}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java
index 8b3d72f..0f73c6c 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.impl.InterceptSendToMockEndpointStrategy;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
+import org.apache.camel.support.EndpointHelper;
import org.apache.camel.util.ObjectHelper;
/**
@@ -81,7 +82,7 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
*
* @param pattern the pattern(s).
* @throws Exception can be thrown if error occurred
- * @see org.apache.camel.util.EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
+ * @see EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
*/
public void mockEndpoints(String... pattern) throws Exception {
for (String s : pattern) {
@@ -94,7 +95,7 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
*
* @param pattern the pattern(s).
* @throws Exception can be thrown if error occurred
- * @see org.apache.camel.util.EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
+ * @see EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
*/
public void mockEndpointsAndSkip(String... pattern) throws Exception {
for (String s : pattern) {
@@ -125,11 +126,11 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
/**
* Weaves by matching id of the nodes in the route (incl onException etc).
* <p/>
- * Uses the {@link org.apache.camel.util.EndpointHelper#matchPattern(String, String)} matching algorithm.
+ * Uses the {@link EndpointHelper#matchPattern(String, String)} matching algorithm.
*
* @param pattern the pattern
* @return the builder
- * @see org.apache.camel.util.EndpointHelper#matchPattern(String, String)
+ * @see EndpointHelper#matchPattern(String, String)
*/
public <T extends ProcessorDefinition<?>> AdviceWithBuilder<T> weaveById(String pattern) {
ObjectHelper.notNull(originalRoute, "originalRoute", this);
@@ -139,11 +140,11 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
/**
* Weaves by matching the to string representation of the nodes in the route (incl onException etc).
* <p/>
- * Uses the {@link org.apache.camel.util.EndpointHelper#matchPattern(String, String)} matching algorithm.
+ * Uses the {@link EndpointHelper#matchPattern(String, String)} matching algorithm.
*
* @param pattern the pattern
* @return the builder
- * @see org.apache.camel.util.EndpointHelper#matchPattern(String, String)
+ * @see EndpointHelper#matchPattern(String, String)
*/
public <T extends ProcessorDefinition<?>> AdviceWithBuilder<T> weaveByToString(String pattern) {
ObjectHelper.notNull(originalRoute, "originalRoute", this);
@@ -153,11 +154,11 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
/**
* Weaves by matching sending to endpoints with the given uri of the nodes in the route (incl onException etc).
* <p/>
- * Uses the {@link org.apache.camel.util.EndpointHelper#matchPattern(String, String)} matching algorithm.
+ * Uses the {@link EndpointHelper#matchPattern(String, String)} matching algorithm.
*
* @param pattern the pattern
* @return the builder
- * @see org.apache.camel.util.EndpointHelper#matchPattern(String, String)
+ * @see EndpointHelper#matchPattern(String, String)
*/
public <T extends ProcessorDefinition<?>> AdviceWithBuilder<T> weaveByToUri(String pattern) {
ObjectHelper.notNull(originalRoute, "originalRoute", this);
diff --git a/camel-core/src/main/java/org/apache/camel/builder/AdviceWithTasks.java b/camel-core/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
index 67605e3..652fe1c 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/AdviceWithTasks.java
@@ -28,7 +28,7 @@ import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ProcessorDefinitionHelper;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.TransactedDefinition;
-import org.apache.camel.util.EndpointHelper;
+import org.apache.camel.support.EndpointHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/builder/AggregationStrategies.java b/camel-core/src/main/java/org/apache/camel/builder/AggregationStrategies.java
new file mode 100644
index 0000000..bc70729
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/builder/AggregationStrategies.java
@@ -0,0 +1,152 @@
+/**
+ * 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.builder;
+
+import org.apache.camel.processor.aggregate.AggregationStrategy;
+import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
+import org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy;
+import org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy;
+import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
+import org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy;
+
+/**
+ * Toolbox class to create commonly used Aggregation Strategies in a fluent manner.
+ * For more information about the supported {@link AggregationStrategy}, see links to the Javadocs of the relevant class below.
+ *
+ * @since 2.12
+ */
+public final class AggregationStrategies {
+
+ private AggregationStrategies() { }
+
+ /**
+ * Creates a {@link FlexibleAggregationStrategy} pivoting around a particular type, e.g. it casts all <tt>pick expression</tt>
+ * results to the desired type.
+ *
+ * @param type The type the {@link FlexibleAggregationStrategy} deals with.
+ */
+ public static <T> FlexibleAggregationStrategy<T> flexible(Class<T> type) {
+ return new FlexibleAggregationStrategy<>(type);
+ }
+
+ /**
+ * Creates a {@link FlexibleAggregationStrategy} with no particular type, i.e. performing no casts or type conversion of
+ * <tt>pick expression</tt> results.
+ */
+ public static FlexibleAggregationStrategy<Object> flexible() {
+ return new FlexibleAggregationStrategy<>();
+ }
+
+ /**
+ * Use the latest incoming exchange.
+ *
+ * @see org.apache.camel.processor.aggregate.UseLatestAggregationStrategy
+ */
+ public static AggregationStrategy useLatest() {
+ return new UseLatestAggregationStrategy();
+ }
+
+ /**
+ * Use the original exchange.
+ *
+ * @see org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy
+ */
+ public static AggregationStrategy useOriginal() {
+ return new UseOriginalAggregationStrategy();
+ }
+
+ /**
+ * Use the original exchange.
+ *
+ * @param propagateException whether to propgate exception if errors was thrown during processing splitted messages.
+ *
+ * @see org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy
+ */
+ public static AggregationStrategy useOriginal(boolean propagateException) {
+ return new UseOriginalAggregationStrategy(propagateException);
+ }
+
+ /**
+ * Creates a {@link GroupedExchangeAggregationStrategy} aggregation strategy.
+ */
+ public static AggregationStrategy groupedExchange() {
+ return new GroupedExchangeAggregationStrategy();
+ }
+
+ /**
+ * Creates a {@link GroupedBodyAggregationStrategy} aggregation strategy.
+ */
+ public static AggregationStrategy groupedBody() {
+ return new GroupedBodyAggregationStrategy();
+ }
+
+ /**
+ * Creates a {@link AggregationStrategyBeanAdapter} for using a POJO as the aggregation strategy.
+ */
+ public static AggregationStrategy bean(Object bean) {
+ return new AggregationStrategyBeanAdapter(bean);
+ }
+
+ /**
+ * Creates a {@link AggregationStrategyBeanAdapter} for using a POJO as the aggregation strategy.
+ */
+ public static AggregationStrategy bean(Object bean, String methodName) {
+ return new AggregationStrategyBeanAdapter(bean, methodName);
+ }
+
+ /**
+ * Creates a {@link AggregationStrategyBeanAdapter} for using a POJO as the aggregation strategy.
+ */
+ public static AggregationStrategy beanAllowNull(Object bean, String methodName) {
+ AggregationStrategyBeanAdapter adapter = new AggregationStrategyBeanAdapter(bean, methodName);
+ adapter.setAllowNullOldExchange(true);
+ adapter.setAllowNullNewExchange(true);
+ return adapter;
+ }
+
+ /**
+ * Creates a {@link AggregationStrategyBeanAdapter} for using a POJO as the aggregation strategy.
+ */
+ public static AggregationStrategy bean(Class<?> type) {
+ return new AggregationStrategyBeanAdapter(type);
+ }
+
+ /**
+ * Creates a {@link AggregationStrategyBeanAdapter} for using a POJO as the aggregation strategy.
+ */
+ public static AggregationStrategy bean(Class<?> type, String methodName) {
+ return new AggregationStrategyBeanAdapter(type, methodName);
+ }
+
+ /**
+ * Creates a {@link AggregationStrategyBeanAdapter} for using a POJO as the aggregation strategy.
+ */
+ public static AggregationStrategy beanAllowNull(Class<?> type, String methodName) {
+ AggregationStrategyBeanAdapter adapter = new AggregationStrategyBeanAdapter(type, methodName);
+ adapter.setAllowNullOldExchange(true);
+ adapter.setAllowNullNewExchange(true);
+ return adapter;
+ }
+
+ /**
+ * Creates a {@link XsltAggregationStrategy} as the aggregation strategy.
+ */
+ public static XsltAggregationStrategy xslt(String xslFileLocation) {
+ return XsltAggregationStrategy.create(xslFileLocation);
+ }
+
+}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java b/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
index 05b916d..666ac16 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
@@ -24,6 +24,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.Expression;
import org.apache.camel.NoSuchEndpointException;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.xml.XPathBuilder;
import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.language.ExchangePropertyExpression;
@@ -178,7 +179,7 @@ public abstract class BuilderSupport {
try {
value = getContext().resolvePropertyPlaceholders(value);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return XPathBuilder.xpath(value, resultType);
}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java b/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
index 95b62e9..70d7f5d 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
@@ -61,8 +61,8 @@ import org.apache.camel.model.dataformat.YAMLDataFormat;
import org.apache.camel.model.dataformat.YAMLLibrary;
import org.apache.camel.model.dataformat.ZipDataFormat;
import org.apache.camel.model.dataformat.ZipFileDataFormat;
+import org.apache.camel.support.jsse.KeyStoreParameters;
import org.apache.camel.util.CollectionStringBuffer;
-import org.apache.camel.util.jsse.KeyStoreParameters;
/**
* An expression for constructing the different possible {@link org.apache.camel.spi.DataFormat}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java
index d6e5ca1..583d6cb 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java
@@ -25,7 +25,7 @@ import org.apache.camel.processor.DeadLetterChannel;
import org.apache.camel.processor.FatalFallbackErrorHandler;
import org.apache.camel.processor.SendProcessor;
import org.apache.camel.spi.RouteContext;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.util.StringHelper;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
index b229332..ea8ea1a 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
@@ -30,8 +30,8 @@ import org.apache.camel.spi.ExecutorServiceManager;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.ThreadPoolProfile;
-import org.apache.camel.util.CamelLogger;
-import org.apache.camel.util.ExpressionToPredicateAdapter;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.ExpressionToPredicateAdapter;
import org.slf4j.LoggerFactory;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/builder/DefaultFluentProducerTemplate.java b/camel-core/src/main/java/org/apache/camel/builder/DefaultFluentProducerTemplate.java
index 55b8459..bfcbbdb 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/DefaultFluentProducerTemplate.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/DefaultFluentProducerTemplate.java
@@ -33,10 +33,10 @@ import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.processor.ConvertBodyProcessor;
+import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.ExchangeHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
public class DefaultFluentProducerTemplate extends ServiceSupport implements FluentProducerTemplate {
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
index 97282e0..e4c987c 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
@@ -23,7 +23,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Message;
-import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.support.DefaultExchange;
/**
* Builder to create {@link Exchange} and add headers and set body on the Exchange {@link Message}.
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
index 5c03bbf..c10106a 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
@@ -36,6 +36,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.camel.CamelContext;
+import org.apache.camel.CamelExecutionException;
import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
@@ -46,6 +47,7 @@ import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.NoSuchLanguageException;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.Producer;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.component.bean.BeanInvocation;
import org.apache.camel.component.properties.PropertiesComponent;
@@ -57,17 +59,17 @@ import org.apache.camel.spi.ExchangeFormatter;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.UnitOfWork;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.ExpressionAdapter;
+import org.apache.camel.support.GroupIterator;
+import org.apache.camel.support.GroupTokenIterator;
+import org.apache.camel.support.MessageHelper;
import org.apache.camel.support.TokenPairExpressionIterator;
import org.apache.camel.support.TokenXMLExpressionIterator;
import org.apache.camel.support.XMLTokenExpressionIterator;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.ExchangeHelper;
import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.GroupIterator;
-import org.apache.camel.util.GroupTokenIterator;
import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.MessageHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.OgnlHelper;
import org.apache.camel.util.Scanner;
@@ -231,7 +233,7 @@ public final class ExpressionBuilder {
String text = simpleExpression(typeName).evaluate(exchange, String.class);
type = exchange.getContext().getClassResolver().resolveMandatoryClass(text);
} catch (ClassNotFoundException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
String text = simpleExpression(headerName).evaluate(exchange, String.class);
@@ -824,7 +826,7 @@ public final class ExpressionBuilder {
}
}
- throw ObjectHelper.wrapCamelExecutionException(exchange, new ClassNotFoundException("Cannot find type " + text));
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, new ClassNotFoundException("Cannot find type " + text));
}
@Override
@@ -1076,7 +1078,7 @@ public final class ExpressionBuilder {
try {
type = exchange.getContext().getClassResolver().resolveMandatoryClass(text);
} catch (ClassNotFoundException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
return exchange.getIn().getBody(type);
}
@@ -1100,7 +1102,7 @@ public final class ExpressionBuilder {
try {
type = exchange.getContext().getClassResolver().resolveMandatoryClass(text);
} catch (ClassNotFoundException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
Object body = exchange.getIn().getBody(type);
if (body != null) {
@@ -1134,12 +1136,12 @@ public final class ExpressionBuilder {
try {
type = exchange.getContext().getClassResolver().resolveMandatoryClass(text);
} catch (ClassNotFoundException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
try {
return exchange.getIn().getMandatoryBody(type);
} catch (InvalidPayloadException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
}
@@ -1162,13 +1164,13 @@ public final class ExpressionBuilder {
try {
type = exchange.getContext().getClassResolver().resolveMandatoryClass(text);
} catch (ClassNotFoundException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
Object body;
try {
body = exchange.getIn().getMandatoryBody(type);
} catch (InvalidPayloadException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
// ognl is able to evaluate method name if it contains nested functions
// so we should not eager evaluate ognl as a string
@@ -1258,7 +1260,7 @@ public final class ExpressionBuilder {
try {
return exchange.getIn().getMandatoryBody(type);
} catch (InvalidPayloadException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
}
@@ -1523,7 +1525,7 @@ public final class ExpressionBuilder {
public Object evaluate(Exchange exchange) {
String text = simpleExpression(token).evaluate(exchange, String.class);
Object value = expression.evaluate(exchange, Object.class);
- Scanner scanner = ObjectHelper.getScanner(exchange, value, text);
+ Scanner scanner = ExchangeHelper.getScanner(exchange, value, text);
return scanner;
}
@@ -1592,7 +1594,7 @@ public final class ExpressionBuilder {
return new ExpressionAdapter() {
public Object evaluate(Exchange exchange) {
Object value = expression.evaluate(exchange, Object.class);
- Scanner scanner = ObjectHelper.getScanner(exchange, value, regexTokenizer);
+ Scanner scanner = ExchangeHelper.getScanner(exchange, value, regexTokenizer);
return scanner;
}
@@ -1660,7 +1662,7 @@ public final class ExpressionBuilder {
// evaluate expression as iterator
Iterator<?> it = expression.evaluate(exchange, Iterator.class);
ObjectHelper.notNull(it, "expression: " + expression + " evaluated on " + exchange + " must return an java.util.Iterator");
- return new SkipIterator(exchange, it, skip);
+ return new SkipIterator(it, skip);
}
@Override
@@ -1892,7 +1894,7 @@ public final class ExpressionBuilder {
long value = exchange.getContext().getTypeConverter().mandatoryConvertTo(long.class, exchange, offsetMatcher.group(2).trim());
offsets.add(offsetMatcher.group(1).equals("+") ? value : -value);
} catch (NoTypeConversionAvailableException e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
}
@@ -2033,7 +2035,7 @@ public final class ExpressionBuilder {
producer.process(exchange);
producer.stop();
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
// return the OUT body, but check for exchange pattern
@@ -2286,7 +2288,7 @@ public final class ExpressionBuilder {
if (defaultValue != null) {
return defaultValue;
}
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -2413,7 +2415,7 @@ public final class ExpressionBuilder {
def.setMaxChars(maxChars);
}
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
formatter = def;
}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java b/camel-core/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java
new file mode 100644
index 0000000..d9dbce5
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java
@@ -0,0 +1,437 @@
+/**
+ * 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.builder;
+
+import java.util.Collection;
+
+import org.apache.camel.CamelExecutionException;
+import org.apache.camel.Exchange;
+import org.apache.camel.Expression;
+import org.apache.camel.Predicate;
+import org.apache.camel.TypeConversionException;
+import org.apache.camel.processor.aggregate.AggregationStrategy;
+import org.apache.camel.processor.aggregate.CompletionAwareAggregationStrategy;
+import org.apache.camel.processor.aggregate.TimeoutAwareAggregationStrategy;
+import org.apache.camel.support.ExchangeHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Flexible Aggregation Strategy is a highly customizable, fluently configurable aggregation strategy. It allows you to quickly whip up an {@link AggregationStrategy}
+ * that is capable of performing the most typical aggregation duties, with zero Java code.
+ * <p/>
+ * It can perform the following logic:
+ * <ul>
+ * <li>Filtering results based on a defined {@link Predicate} written in any language, such as XPath, OGNL, Simple, Javascript, etc.</li>
+ * <li>Picking specific data elements for aggregation.</li>
+ * <li>Accumulating results in any designated {@link Collection} type, e.g. in a HashSet, LinkedList, ArrayList, etc.</li>
+ * <li>Storing the output in a specific place in the Exchange: a property, a header or in the body.</li>
+ * </ul>
+ *
+ * It also includes the ability to specify both aggregation batch completion actions and timeout actions, in an abbreviated manner.
+ * <p/>
+ * This Aggregation Strategy is suitable for usage in aggregate, split, multicast, enrich and recipient list EIPs.
+ */
+public class FlexibleAggregationStrategy<E extends Object> implements AggregationStrategy,
+ CompletionAwareAggregationStrategy, TimeoutAwareAggregationStrategy {
+
+ private static final Logger LOG = LoggerFactory.getLogger(FlexibleAggregationStrategy.class);
+
+ private Expression pickExpression = ExpressionBuilder.bodyExpression();
+ private Predicate conditionPredicate;
+ @SuppressWarnings("rawtypes")
+ private Class<? extends Collection> collectionType;
+ @SuppressWarnings("unchecked")
+ private Class<E> castAs = (Class<E>) Object.class;
+ private boolean storeNulls;
+ private boolean ignoreInvalidCasts; // = false
+ private FlexibleAggregationStrategyInjector injector = new BodyInjector(castAs);
+ private TimeoutAwareMixin timeoutMixin;
+ private CompletionAwareMixin completionMixin;
+
+ /**
+ * Initializes a new instance with {@link Object} as the {@link FlexibleAggregationStrategy#castAs} type.
+ */
+ public FlexibleAggregationStrategy() {
+ }
+
+ /**
+ * Initializes a new instance with the specified type as the {@link FlexibleAggregationStrategy#castAs} type.
+ * @param type The castAs type.
+ */
+ public FlexibleAggregationStrategy(Class<E> type) {
+ this.castAs = type;
+ }
+
+ /**
+ * Set an expression to extract the element to be aggregated from the incoming {@link Exchange}.
+ * All results are cast to the {@link FlexibleAggregationStrategy#castAs} type (or the type specified in the constructor).
+ * <p/>
+ * By default, it picks the full IN message body of the incoming exchange.
+ * @param expression The picking expression.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> pick(Expression expression) {
+ this.pickExpression = expression;
+ return this;
+ }
+
+ /**
+ * Set a filter condition such as only results satisfying it will be aggregated.
+ * By default, all picked values will be processed.
+ * @param predicate The condition.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> condition(Predicate predicate) {
+ this.conditionPredicate = predicate;
+ return this;
+ }
+
+ /**
+ * Accumulate the result of the <i>pick expression</i> in a collection of the designated type.
+ * No <tt>null</tt>s will stored unless the {@link FlexibleAggregationStrategy#storeNulls()} option is enabled.
+ * @param collectionType The type of the Collection to aggregate into.
+ * @return This instance.
+ */
+ @SuppressWarnings("rawtypes")
+ public FlexibleAggregationStrategy<E> accumulateInCollection(Class<? extends Collection> collectionType) {
+ this.collectionType = collectionType;
+ return this;
+ }
+
+ /**
+ * Store the result of this Aggregation Strategy (whether an atomic element or a Collection) in a property with
+ * the designated name.
+ * @param propertyName The property name.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> storeInProperty(String propertyName) {
+ this.injector = new PropertyInjector(castAs, propertyName);
+ return this;
+ }
+
+ /**
+ * Store the result of this Aggregation Strategy (whether an atomic element or a Collection) in an IN message header with
+ * the designated name.
+ * @param headerName The header name.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> storeInHeader(String headerName) {
+ this.injector = new HeaderInjector(castAs, headerName);
+ return this;
+ }
+
+ /**
+ * Store the result of this Aggregation Strategy (whether an atomic element or a Collection) in the body of the IN message.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> storeInBody() {
+ this.injector = new BodyInjector(castAs);
+ return this;
+ }
+
+ /**
+ * Cast the result of the <i>pick expression</i> to this type.
+ * @param castAs Type for the cast.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> castAs(Class<E> castAs) {
+ this.castAs = castAs;
+ injector.setType(castAs);
+ return this;
+ }
+
+ /**
+ * Enables storing null values in the resulting collection.
+ * By default, this aggregation strategy will drop null values.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> storeNulls() {
+ this.storeNulls = true;
+ return this;
+ }
+
+ /**
+ * Ignores invalid casts instead of throwing an exception if the <i>pick expression</i> result cannot be casted to the
+ * specified type.
+ * By default, this aggregation strategy will throw an exception if an invalid cast occurs.
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> ignoreInvalidCasts() {
+ this.ignoreInvalidCasts = true;
+ return this;
+ }
+
+ /**
+ * Plugs in logic to execute when a timeout occurs.
+ * @param timeoutMixin
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> timeoutAware(TimeoutAwareMixin timeoutMixin) {
+ this.timeoutMixin = timeoutMixin;
+ return this;
+ }
+
+ /**
+ * Plugs in logic to execute when an aggregation batch completes.
+ * @param completionMixin
+ * @return This instance.
+ */
+ public FlexibleAggregationStrategy<E> completionAware(CompletionAwareMixin completionMixin) {
+ this.completionMixin = completionMixin;
+ return this;
+ }
+
+ @Override
+ public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
+ Exchange exchange = oldExchange;
+ if (exchange == null) {
+ exchange = ExchangeHelper.createCorrelatedCopy(newExchange, true);
+ injector.prepareAggregationExchange(exchange);
+ }
+
+ // 1. Apply the condition and reject the aggregation if unmatched
+ if (conditionPredicate != null && !conditionPredicate.matches(newExchange)) {
+ LOG.trace("Dropped exchange {} from aggregation as predicate {} was not matched", newExchange, conditionPredicate);
+ return exchange;
+ }
+
+ // 2. Pick the appropriate element of the incoming message, casting it to the specified class
+ // If null, act accordingly based on storeNulls
+ E picked = null;
+ try {
+ picked = pickExpression.evaluate(newExchange, castAs);
+ } catch (TypeConversionException exception) {
+ if (!ignoreInvalidCasts) {
+ throw exception;
+ }
+ }
+
+ if (picked == null && !storeNulls) {
+ LOG.trace("Dropped exchange {} from aggregation as pick expression returned null and storing nulls is not enabled", newExchange);
+ return exchange;
+ }
+
+ if (collectionType == null) {
+ injectAsRawValue(exchange, picked);
+ } else {
+ injectAsCollection(exchange, picked, collectionType);
+ }
+
+ return exchange;
+ }
+
+
+ @Override
+ public void timeout(Exchange oldExchange, int index, int total, long timeout) {
+ if (timeoutMixin == null) {
+ return;
+ }
+ timeoutMixin.timeout(oldExchange, index, total, timeout);
+ }
+
+ @Override
+ public void onCompletion(Exchange exchange) {
+ if (completionMixin == null) {
+ return;
+ }
+ completionMixin.onCompletion(exchange);
+ }
+
+ private void injectAsRawValue(Exchange oldExchange, E picked) {
+ injector.setValue(oldExchange, picked);
+ }
+
+ private void injectAsCollection(Exchange oldExchange, E picked, Class<? extends Collection> collectionType) {
+ Collection<E> col = injector.getValueAsCollection(oldExchange, collectionType);
+ col = safeInsertIntoCollection(oldExchange, col, picked);
+ injector.setValueAsCollection(oldExchange, col);
+ }
+
+ @SuppressWarnings("unchecked")
+ private Collection<E> safeInsertIntoCollection(Exchange oldExchange, Collection<E> oldValue, E toInsert) {
+ Collection<E> collection = null;
+ try {
+ if (oldValue == null || oldExchange.getProperty(Exchange.AGGREGATED_COLLECTION_GUARD, Boolean.class) == null) {
+ try {
+ collection = collectionType.newInstance();
+ } catch (Exception e) {
+ LOG.warn("Could not instantiate collection of type {}. Aborting aggregation.", collectionType);
+ throw CamelExecutionException.wrapCamelExecutionException(oldExchange, e);
+ }
+ oldExchange.setProperty(Exchange.AGGREGATED_COLLECTION_GUARD, Boolean.FALSE);
+ } else {
+ collection = collectionType.cast(oldValue);
+ }
+
+ if (collection != null) {
+ collection.add(toInsert);
+ }
+
+ } catch (ClassCastException exception) {
+ if (!ignoreInvalidCasts) {
+ throw exception;
+ }
+ }
+ return collection;
+ }
+
+ public interface TimeoutAwareMixin {
+ void timeout(Exchange exchange, int index, int total, long timeout);
+ }
+
+ public interface CompletionAwareMixin {
+ void onCompletion(Exchange exchange);
+ }
+
+ private abstract class FlexibleAggregationStrategyInjector {
+ protected Class<E> type;
+
+ FlexibleAggregationStrategyInjector(Class<E> type) {
+ this.type = type;
+ }
+
+ public void setType(Class<E> type) {
+ this.type = type;
+ }
+
+ public abstract void prepareAggregationExchange(Exchange exchange);
+ public abstract E getValue(Exchange exchange);
+ public abstract void setValue(Exchange exchange, E obj);
+ public abstract Collection<E> getValueAsCollection(Exchange exchange, Class<? extends Collection> type);
+ public abstract void setValueAsCollection(Exchange exchange, Collection<E> obj);
+ }
+
+ private class PropertyInjector extends FlexibleAggregationStrategyInjector {
+ private String propertyName;
+
+ PropertyInjector(Class<E> type, String propertyName) {
+ super(type);
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public void prepareAggregationExchange(Exchange exchange) {
+ exchange.removeProperty(propertyName);
+ }
+
+ @Override
+ public E getValue(Exchange exchange) {
+ return exchange.getProperty(propertyName, type);
+ }
+
+ @Override
+ public void setValue(Exchange exchange, E obj) {
+ exchange.setProperty(propertyName, obj);
+ }
+
+ @Override @SuppressWarnings("unchecked")
+ public Collection<E> getValueAsCollection(Exchange exchange, Class<? extends Collection> type) {
+ Object value = exchange.getProperty(propertyName);
+ if (value == null) {
+ // empty so create a new collection to host this
+ return exchange.getContext().getInjector().newInstance(type);
+ } else {
+ return exchange.getProperty(propertyName, type);
+ }
+ }
+
+ @Override
+ public void setValueAsCollection(Exchange exchange, Collection<E> obj) {
+ exchange.setProperty(propertyName, obj);
+ }
+
+ }
+
+ private class HeaderInjector extends FlexibleAggregationStrategyInjector {
+ private String headerName;
+
+ HeaderInjector(Class<E> type, String headerName) {
+ super(type);
+ this.headerName = headerName;
+ }
+
+ @Override
+ public void prepareAggregationExchange(Exchange exchange) {
+ exchange.getIn().removeHeader(headerName);
+ }
+
+ @Override
+ public E getValue(Exchange exchange) {
+ return exchange.getIn().getHeader(headerName, type);
+ }
+
+ @Override
+ public void setValue(Exchange exchange, E obj) {
+ exchange.getIn().setHeader(headerName, obj);
+ }
+
+ @Override @SuppressWarnings("unchecked")
+ public Collection<E> getValueAsCollection(Exchange exchange, Class<? extends Collection> type) {
+ Object value = exchange.getIn().getHeader(headerName);
+ if (value == null) {
+ // empty so create a new collection to host this
+ return exchange.getContext().getInjector().newInstance(type);
+ } else {
+ return exchange.getIn().getHeader(headerName, type);
+ }
+ }
+
+ @Override
+ public void setValueAsCollection(Exchange exchange, Collection<E> obj) {
+ exchange.getIn().setHeader(headerName, obj);
+ }
+ }
+
+ private class BodyInjector extends FlexibleAggregationStrategyInjector {
+ BodyInjector(Class<E> type) {
+ super(type);
+ }
+
+ @Override
+ public void prepareAggregationExchange(Exchange exchange) {
+ exchange.getIn().setBody(null);
+ }
+
+ @Override
+ public E getValue(Exchange exchange) {
+ return exchange.getIn().getBody(type);
+ }
+
+ @Override
+ public void setValue(Exchange exchange, E obj) {
+ exchange.getIn().setBody(obj);
+ }
+
+ @Override @SuppressWarnings("unchecked")
+ public Collection<E> getValueAsCollection(Exchange exchange, Class<? extends Collection> type) {
+ Object value = exchange.getIn().getBody();
+ if (value == null) {
+ // empty so create a new collection to host this
+ return exchange.getContext().getInjector().newInstance(type);
+ } else {
+ return exchange.getIn().getBody(type);
+ }
+ }
+
+ @Override
+ public void setValueAsCollection(Exchange exchange, Collection<E> obj) {
+ exchange.getIn().setBody(obj);
+ }
+ }
+
+}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/NotifyBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/NotifyBuilder.java
index b54724b..05fc8fd 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/NotifyBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/NotifyBuilder.java
@@ -33,16 +33,17 @@ import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.Producer;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.direct.DirectEndpoint;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.management.event.ExchangeCompletedEvent;
import org.apache.camel.management.event.ExchangeCreatedEvent;
import org.apache.camel.management.event.ExchangeFailedEvent;
import org.apache.camel.management.event.ExchangeSentEvent;
+import org.apache.camel.support.EndpointHelper;
import org.apache.camel.support.EventNotifierSupport;
-import org.apache.camel.util.EndpointHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -91,7 +92,7 @@ public class NotifyBuilder {
try {
ServiceHelper.startService(eventNotifier);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
context.getManagementStrategy().addEventNotifier(eventNotifier);
}
@@ -102,7 +103,7 @@ public class NotifyBuilder {
*
* @param endpointUri uri of endpoint or pattern (see the EndpointHelper javadoc)
* @return the builder
- * @see org.apache.camel.util.EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
+ * @see EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
*/
public NotifyBuilder from(final String endpointUri) {
stack.add(new EventPredicateSupport() {
@@ -138,7 +139,7 @@ public class NotifyBuilder {
*
* @param routeId id of route or pattern (see the EndpointHelper javadoc)
* @return the builder
- * @see org.apache.camel.util.EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
+ * @see EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
*/
public NotifyBuilder fromRoute(final String routeId) {
stack.add(new EventPredicateSupport() {
@@ -288,7 +289,7 @@ public class NotifyBuilder {
*
* @param endpointUri uri of endpoint or pattern (see the EndpointHelper javadoc)
* @return the builder
- * @see org.apache.camel.util.EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
+ * @see EndpointHelper#matchEndpoint(org.apache.camel.CamelContext, String, String)
*/
public NotifyBuilder wereSentTo(final String endpointUri) {
// insert in start of stack but after the previous wereSentTo
@@ -867,7 +868,7 @@ public class NotifyBuilder {
}
producer.process(exchange);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -875,7 +876,7 @@ public class NotifyBuilder {
try {
return mock.await(0, TimeUnit.SECONDS);
} catch (InterruptedException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -966,7 +967,7 @@ public class NotifyBuilder {
}
producer.process(exchange);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -974,7 +975,7 @@ public class NotifyBuilder {
try {
return !mock.await(0, TimeUnit.SECONDS);
} catch (InterruptedException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -1179,7 +1180,7 @@ public class NotifyBuilder {
try {
ServiceHelper.stopService(eventNotifier);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
created = false;
}
@@ -1215,7 +1216,7 @@ public class NotifyBuilder {
try {
latch.await(timeout, timeUnit);
} catch (InterruptedException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return matches();
}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
index c7427a2..6cabce2 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
@@ -24,8 +24,8 @@ import java.util.regex.Pattern;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
-import org.apache.camel.util.ExpressionToPredicateAdapter;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.ExpressionToPredicateAdapter;
+import org.apache.camel.support.ObjectHelper;
import static org.apache.camel.util.ObjectHelper.notNull;
diff --git a/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java
index 53a7c18..18bf64d 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java
@@ -16,12 +16,12 @@
*/
package org.apache.camel.builder;
+import org.apache.camel.CamelExecutionException;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.language.simple.SimpleLanguage;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ResourceHelper;
+import org.apache.camel.support.ResourceHelper;
/**
* Creates an {@link org.apache.camel.language.Simple} language builder.
@@ -99,7 +99,7 @@ public class SimpleBuilder implements Predicate, Expression {
resolve = ResourceHelper.resolveOptionalExternalScript(exchange.getContext(), exchange, resolve);
return simple.createPredicate(resolve);
} catch (Exception e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
}
@@ -112,7 +112,7 @@ public class SimpleBuilder implements Predicate, Expression {
resolve = ResourceHelper.resolveOptionalExternalScript(exchange.getContext(), exchange, resolve);
return simple.createExpression(resolve, resultType);
} catch (Exception e) {
- throw ObjectHelper.wrapCamelExecutionException(exchange, e);
+ throw CamelExecutionException.wrapCamelExecutionException(exchange, e);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolBuilder.java
index 82f5b88..14e6f09 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolBuilder.java
@@ -21,7 +21,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import org.apache.camel.CamelContext;
-import org.apache.camel.ThreadPoolRejectedPolicy;
+import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
import org.apache.camel.spi.ThreadPoolProfile;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolProfileBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolProfileBuilder.java
index 8723a3a..8712735 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolProfileBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ThreadPoolProfileBuilder.java
@@ -18,7 +18,7 @@ package org.apache.camel.builder;
import java.util.concurrent.TimeUnit;
-import org.apache.camel.ThreadPoolRejectedPolicy;
+import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
import org.apache.camel.spi.ThreadPoolProfile;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 791a382..cc2a2b0 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -27,7 +27,7 @@ import org.apache.camel.Predicate;
import org.apache.camel.builder.xml.Namespaces;
import org.apache.camel.spi.NamespaceAware;
import org.apache.camel.support.ExpressionAdapter;
-import org.apache.camel.util.ExpressionToPredicateAdapter;
+import org.apache.camel.support.ExpressionToPredicateAdapter;
/**
* A builder of expressions or predicates based on values.
diff --git a/camel-core/src/main/java/org/apache/camel/builder/XsltAggregationStrategy.java b/camel-core/src/main/java/org/apache/camel/builder/XsltAggregationStrategy.java
new file mode 100644
index 0000000..bc13a31
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/builder/XsltAggregationStrategy.java
@@ -0,0 +1,251 @@
+/**
+ * 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.builder;
+
+import java.io.IOException;
+import java.util.concurrent.RejectedExecutionException;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.URIResolver;
+
+import org.w3c.dom.Document;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.xml.XsltBuilder;
+import org.apache.camel.builder.xml.XsltUriResolver;
+import org.apache.camel.component.xslt.XsltEndpoint;
+import org.apache.camel.component.xslt.XsltOutput;
+import org.apache.camel.processor.aggregate.AggregationStrategy;
+import org.apache.camel.support.ServiceSupport;
+import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The XSLT Aggregation Strategy enables you to use XSL stylesheets to aggregate messages.
+ * <p>
+ * Since XSLT does not directly support providing multiple XML payloads as an input, this aggregator injects
+ * the new incoming XML document (<tt>newExchange</tt>) into the <tt>oldExchange</tt> as an exchange property of
+ * type {@link Document}. The old exchange therefore remains accessible as the root context.
+ * This exchange property can then be accessed from your XSLT by declaring an {@code <xsl:param />} at the top
+ * of your stylesheet:
+ *
+ * <code>
+ * <xsl:param name="new-exchange" />
+ *
+ * <xsl:template match="/">
+ * <abc>
+ * <xsl:copy-of select="/ElementFromOldExchange" />
+ * <xsl:copy-of select="$new-exchange/ElementFromNewExchange" />
+ * </abc>
+ * </xsl:template>
+ * </code>
+ *
+ * The exchange property name defaults to <tt>new-exchange</tt> but can be
+ * changed through {@link #setPropertyName(String)}.
+ * <p>
+ * Some code bits have been copied from the {@link org.apache.camel.component.xslt.XsltEndpoint}.
+ */
+public class XsltAggregationStrategy extends ServiceSupport implements AggregationStrategy, CamelContextAware {
+
+ private static final Logger LOG = LoggerFactory.getLogger(XsltAggregationStrategy.class);
+ private static final String DEFAULT_PROPERTY_NAME = "new-exchange";
+
+ private volatile XsltBuilder xslt;
+ private volatile URIResolver uriResolver;
+ private CamelContext camelContext;
+
+ private String propertyName;
+ private String xslFile;
+ private String transformerFactoryClass;
+ private XsltOutput output = XsltOutput.string;
+
+ /**
+ * Constructor.
+ *
+ * @param xslFileLocation location of the XSL transformation
+ */
+ public XsltAggregationStrategy(String xslFileLocation) {
+ this.xslFile = xslFileLocation;
+ }
+
+ @Override
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
+
+ @Override
+ public void setCamelContext(CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ @Override
+ public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
+ // guard against unlikely NPE
+ if (newExchange == null) {
+ return oldExchange;
+ }
+
+ // in the first call to this aggregation, do not call the XSLT but instead store the
+ // incoming exchange
+ if (oldExchange == null) {
+ return newExchange;
+ }
+
+ if (!isRunAllowed()) {
+ throw new RejectedExecutionException();
+ }
+
+ try {
+ oldExchange.setProperty(propertyName, newExchange.getIn().getBody(Document.class));
+ xslt.process(oldExchange);
+ return oldExchange;
+ } catch (Throwable e) {
+ oldExchange.setException(e);
+ }
+
+ return oldExchange;
+ }
+
+ public void setOutput(XsltOutput output) {
+ this.output = output;
+ }
+
+ public void setXslt(XsltBuilder xslt) {
+ this.xslt = xslt;
+ }
+
+ public void setUriResolver(URIResolver uriResolver) {
+ this.uriResolver = uriResolver;
+ }
+
+ public void setTransformerFactoryClass(String transformerFactoryClass) {
+ this.transformerFactoryClass = transformerFactoryClass;
+ }
+
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ public void setPropertyName(String propertyName) {
+ this.propertyName = propertyName;
+ }
+
+ protected void configureOutput(XsltBuilder xslt, String output) throws Exception {
+ if (ObjectHelper.isEmpty(output)) {
+ return;
+ }
+
+ if ("string".equalsIgnoreCase(output)) {
+ xslt.outputString();
+ } else if ("bytes".equalsIgnoreCase(output)) {
+ xslt.outputBytes();
+ } else if ("DOM".equalsIgnoreCase(output)) {
+ xslt.outputDOM();
+ } else if ("file".equalsIgnoreCase(output)) {
+ xslt.outputFile();
+ } else {
+ throw new IllegalArgumentException("Unknown output type: " + output);
+ }
+ }
+
+ /**
+ * Loads the resource.
+ *
+ * @param resourceUri the resource to load
+ * @throws TransformerException is thrown if error loading resource
+ * @throws IOException is thrown if error loading resource
+ */
+ protected void loadResource(String resourceUri) throws TransformerException, IOException {
+ LOG.trace("{} loading schema resource: {}", this, resourceUri);
+ Source source = xslt.getUriResolver().resolve(resourceUri, null);
+ if (source == null) {
+ throw new IOException("Cannot load schema resource " + resourceUri);
+ } else {
+ xslt.setTransformerSource(source);
+ }
+ }
+
+ // --- fluent builders ---
+ public static XsltAggregationStrategy create(String xslFile) {
+ return new XsltAggregationStrategy(xslFile);
+ }
+
+ public XsltAggregationStrategy withPropertyName(String propertyName) {
+ setPropertyName(propertyName);
+ return this;
+ }
+
+ public XsltAggregationStrategy withOutput(XsltOutput output) {
+ setOutput(output);
+ return this;
+ }
+
+ public XsltAggregationStrategy withUriResolver(URIResolver resolver) {
+ setUriResolver(resolver);
+ return this;
+ }
+
+ public XsltAggregationStrategy withTransformerFactoryClass(String clazz) {
+ setTransformerFactoryClass(clazz);
+ return this;
+ }
+
+ public XsltAggregationStrategy withSaxon() {
+ setTransformerFactoryClass(XsltEndpoint.SAXON_TRANSFORMER_FACTORY_CLASS_NAME);
+ return this;
+ }
+
+ @Override
+ protected void doStart() throws Exception {
+ ObjectHelper.notNull(camelContext, "CamelContext", this);
+
+ // set the default property name if not set
+ this.propertyName = ObjectHelper.isNotEmpty(propertyName) ? propertyName : DEFAULT_PROPERTY_NAME;
+
+ // initialize the XsltBuilder
+ this.xslt = camelContext.getInjector().newInstance(XsltBuilder.class);
+
+ if (transformerFactoryClass != null) {
+ Class<?> factoryClass = camelContext.getClassResolver().resolveMandatoryClass(transformerFactoryClass,
+ XsltAggregationStrategy.class.getClassLoader());
+ TransformerFactory factory = (TransformerFactory) camelContext.getInjector().newInstance(factoryClass);
+ xslt.getConverter().setTransformerFactory(factory);
+ }
+
+ if (uriResolver == null) {
+ uriResolver = new XsltUriResolver(camelContext, xslFile);
+ }
+
+ xslt.setUriResolver(uriResolver);
+ xslt.setFailOnNullBody(true);
+ xslt.transformerCacheSize(0);
+ xslt.setAllowStAX(true);
+
+ configureOutput(xslt, output.name());
+ loadResource(xslFile);
+ }
+
+ @Override
+ protected void doStop() throws Exception {
+ // noop
+ }
+}
\ No newline at end of file
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/FileResultHandlerFactory.java b/camel-core/src/main/java/org/apache/camel/builder/xml/FileResultHandlerFactory.java
index bd6b902..71cfd0c 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/FileResultHandlerFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/FileResultHandlerFactory.java
@@ -19,7 +19,7 @@ package org.apache.camel.builder.xml;
import java.io.File;
import org.apache.camel.Exchange;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.ExchangeHelper;
/**
* Factory for {@link javax.xml.transform.stream.StreamResult} which is streamed to file.
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
index 2f3c3d9..a46d25e 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
@@ -52,16 +52,17 @@ import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.Predicate;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.RuntimeExpressionException;
import org.apache.camel.WrappedFile;
import org.apache.camel.converter.jaxp.ThreadSafeNodeList;
-import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.NamespaceAware;
+import org.apache.camel.support.DefaultExchange;
+import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.MessageHelper;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.ExchangeHelper;
import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.MessageHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
@@ -1049,7 +1050,7 @@ public class XPathBuilder extends ServiceSupport implements CamelContextAware, E
}
}
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -1232,7 +1233,7 @@ public class XPathBuilder extends ServiceSupport implements CamelContextAware, E
try {
return doGetDocument(exchange, body);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
} finally {
// call the reset if the in message body is StreamCache
MessageHelper.resetStreamCache(exchange.getIn());
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
index f4b3cb5..15ccdc5 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
@@ -52,8 +52,8 @@ import org.apache.camel.RuntimeTransformException;
import org.apache.camel.TypeConverter;
import org.apache.camel.converter.jaxp.StAX2SAXSource;
import org.apache.camel.converter.jaxp.XmlConverter;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.SynchronizationAdapter;
-import org.apache.camel.util.ExchangeHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.IOHelper;
import org.slf4j.Logger;
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
index 6361aee..2f5bfc0 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltUriResolver.java
@@ -25,9 +25,9 @@ import javax.xml.transform.URIResolver;
import javax.xml.transform.stream.StreamSource;
import org.apache.camel.CamelContext;
+import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ResourceHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java
index 5e973fb..3fcda92 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java
@@ -26,12 +26,12 @@ import org.apache.camel.api.management.ManagedOperation;
import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.api.management.mbean.ManagedResourceEndpointMBean;
import org.apache.camel.converter.IOConverter;
-import org.apache.camel.impl.ProcessorEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.ProcessorEndpoint;
+import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.ResourceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java b/camel-core/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
index d6eb750..ac9abf8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
@@ -23,8 +23,8 @@ import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.NoSuchBeanException;
import org.apache.camel.Processor;
-import org.apache.camel.util.AsyncProcessorHelper;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.AsyncProcessorHelper;
+import org.apache.camel.support.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java b/camel-core/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java
index b5546f6..2861e3e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/AbstractCamelInvocationHandler.java
@@ -43,7 +43,7 @@ import org.apache.camel.Headers;
import org.apache.camel.InvalidPayloadException;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.support.DefaultExchange;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java
index 38cf875..eb40c2f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanAnnotationExpressionFactory.java
@@ -23,7 +23,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Expression;
import org.apache.camel.language.LanguageAnnotation;
import org.apache.camel.language.bean.BeanExpression;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.ObjectHelper;
import org.apache.camel.util.StringHelper;
public class BeanAnnotationExpressionFactory extends DefaultAnnotationExpressionFactory {
@@ -37,7 +37,7 @@ public class BeanAnnotationExpressionFactory extends DefaultAnnotationExpression
StringHelper.notEmpty(beanName, "ref", annotation);
// method is optional but provide it as null to the bean expression
- if (ObjectHelper.isEmpty(method)) {
+ if (org.apache.camel.util.ObjectHelper.isEmpty(method)) {
method = null;
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
index 28a81f0..2766af8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
@@ -19,13 +19,11 @@ package org.apache.camel.component.bean;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.LRUCache;
-import org.apache.camel.util.LRUCacheFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.support.LRUCache;
+import org.apache.camel.support.LRUCacheFactory;
/**
* The <a href="http://camel.apache.org/bean.html">Bean Component</a> is for invoking Java beans from Camel.
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
index fbc1afc..7ff9e91 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
@@ -23,11 +23,11 @@ import org.apache.camel.Consumer;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
/**
* The <a href="http://camel.apache.org/bean.html">bean component</a> is for invoking Java beans from Camel.
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
index 3b6a1c3..560a926 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
@@ -48,9 +48,9 @@ import org.apache.camel.PropertyInject;
import org.apache.camel.builder.ExpressionBuilder;
import org.apache.camel.language.LanguageAnnotation;
import org.apache.camel.spi.Registry;
+import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.support.ObjectHelper;
import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.StringQuoteHelper;
import org.slf4j.Logger;
@@ -235,7 +235,7 @@ public class BeanInfo {
// need to use arrayLength method from ObjectHelper as Camel's bean OGNL support is method invocation based
// and not for accessing fields. And hence we need to create a MethodInfo instance with a method to call
// and therefore use arrayLength from ObjectHelper to return the array length field.
- Method method = ObjectHelper.class.getMethod("arrayLength", Object[].class);
+ Method method = org.apache.camel.util.ObjectHelper.class.getMethod("arrayLength", Object[].class);
ParameterInfo pi = new ParameterInfo(0, Object[].class, null, ExpressionBuilder.mandatoryBodyExpression(Object[].class, true));
List<ParameterInfo> lpi = new ArrayList<>(1);
lpi.add(pi);
@@ -323,7 +323,7 @@ public class BeanInfo {
// get the target clazz as it could potentially have been enhanced by
// CGLIB etc.
clazz = getTargetClass(clazz);
- ObjectHelper.notNull(clazz, "clazz", this);
+ org.apache.camel.util.ObjectHelper.notNull(clazz, "clazz", this);
LOG.trace("Introspecting class: {}", clazz);
@@ -401,7 +401,7 @@ public class BeanInfo {
// maybe the method overrides, and the method map keeps info of the source override we can use
for (Map.Entry<Method, MethodInfo> methodEntry : methodMap.entrySet()) {
Method source = methodEntry.getKey();
- if (ObjectHelper.isOverridingMethod(getType(), source, method, false)) {
+ if (org.apache.camel.util.ObjectHelper.isOverridingMethod(getType(), source, method, false)) {
answer = methodEntry.getValue();
break;
}
@@ -429,7 +429,7 @@ public class BeanInfo {
List<ParameterInfo> bodyParameters = new ArrayList<>();
boolean hasCustomAnnotation = false;
- boolean hasHandlerAnnotation = ObjectHelper.hasAnnotation(method.getAnnotations(), Handler.class);
+ boolean hasHandlerAnnotation = org.apache.camel.util.ObjectHelper.hasAnnotation(method.getAnnotations(), Handler.class);
int size = parameterTypes.length;
if (LOG.isTraceEnabled()) {
@@ -446,7 +446,7 @@ public class BeanInfo {
LOG.trace("Parameter #{}: {}", i, parameterInfo);
parameters.add(parameterInfo);
if (expression == null) {
- boolean bodyAnnotation = ObjectHelper.hasAnnotation(parameterAnnotations, Body.class);
+ boolean bodyAnnotation = org.apache.camel.util.ObjectHelper.hasAnnotation(parameterAnnotations, Body.class);
LOG.trace("Parameter #{} has @Body annotation", i);
hasCustomAnnotation |= bodyAnnotation;
if (bodyParameters.isEmpty()) {
@@ -647,10 +647,8 @@ public class BeanInfo {
private MethodInfo chooseMethodWithMatchingParameters(Exchange exchange, String parameters, Collection<MethodInfo> operationList)
throws AmbiguousMethodCallException {
// we have hardcoded parameters so need to match that with the given operations
- Iterator<?> it = ObjectHelper.createIterator(parameters);
int count = 0;
- while (it.hasNext()) {
- it.next();
+ for (String o : ObjectHelper.createIterable(parameters)) {
count++;
}
@@ -671,7 +669,7 @@ public class BeanInfo {
List<MethodInfo> candidates = new ArrayList<>();
MethodInfo fallbackCandidate = null;
for (MethodInfo info : operations) {
- it = ObjectHelper.createIterator(parameters, ",", false);
+ Iterator<?> it = ObjectHelper.createIterator(parameters, ",", false);
int index = 0;
boolean matches = true;
while (it.hasNext()) {
@@ -876,7 +874,7 @@ public class BeanInfo {
protected boolean isValidMethod(Class<?> clazz, Method method) {
// must not be in the excluded list
for (Method excluded : EXCLUDED_METHODS) {
- if (ObjectHelper.isOverridingMethod(excluded, method)) {
+ if (org.apache.camel.util.ObjectHelper.isOverridingMethod(excluded, method)) {
// the method is overriding an excluded method so its not valid
return false;
}
@@ -910,9 +908,9 @@ public class BeanInfo {
Method alreadyRegisteredMethod = alreadyRegisteredMethodInfo.getMethod();
Method proposedMethod = proposedMethodInfo.getMethod();
- if (ObjectHelper.isOverridingMethod(getType(), proposedMethod, alreadyRegisteredMethod, false)) {
+ if (org.apache.camel.util.ObjectHelper.isOverridingMethod(getType(), proposedMethod, alreadyRegisteredMethod, false)) {
return alreadyRegisteredMethodInfo;
- } else if (ObjectHelper.isOverridingMethod(getType(), alreadyRegisteredMethod, proposedMethod, false)) {
+ } else if (org.apache.camel.util.ObjectHelper.isOverridingMethod(getType(), alreadyRegisteredMethod, proposedMethod, false)) {
return proposedMethodInfo;
}
}
@@ -1059,7 +1057,7 @@ public class BeanInfo {
// match qualifier types which is used to select among overloaded methods
String types = StringHelper.between(methodName, "(", ")");
- if (ObjectHelper.isNotEmpty(types)) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(types)) {
// we must qualify based on types to match method
String[] parameters = StringQuoteHelper.splitSafeQuote(types, ',');
Class<?>[] parameterTypes = null;
@@ -1072,7 +1070,7 @@ public class BeanInfo {
Class<?> parameterType = parameterTypes[i];
String qualifyType = (String) it.next();
- if (ObjectHelper.isEmpty(qualifyType)) {
+ if (org.apache.camel.util.ObjectHelper.isEmpty(qualifyType)) {
continue;
}
// trim the type
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanInvocation.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanInvocation.java
index e3414c7..eeacd53 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanInvocation.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanInvocation.java
@@ -25,6 +25,7 @@ import java.lang.reflect.Method;
import java.util.Arrays;
import org.apache.camel.Exchange;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -84,9 +85,9 @@ public class BeanInvocation implements Externalizable {
LOG.trace("Got response: {}", response);
exchange.getOut().setBody(response);
} catch (InvocationTargetException e) {
- exchange.setException(ObjectHelper.wrapRuntimeCamelException(e.getCause()));
+ exchange.setException(RuntimeCamelException.wrapRuntimeCamelException(e.getCause()));
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProducer.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProducer.java
index 36a6ef3..0713fb1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProducer.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.bean;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.NoSuchBeanException;
-import org.apache.camel.impl.DefaultAsyncProducer;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.ServiceHelper;
/**
* Bean {@link org.apache.camel.Producer}
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/ConstantBeanHolder.java b/camel-core/src/main/java/org/apache/camel/component/bean/ConstantBeanHolder.java
index 23966e2..aec001a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/ConstantBeanHolder.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/ConstantBeanHolder.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.bean;
import org.apache.camel.CamelContext;
import org.apache.camel.Processor;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java b/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java
index 41cf7b3..0389487 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java
@@ -24,8 +24,8 @@ import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.language.LanguageAnnotation;
import org.apache.camel.spi.Language;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.PredicateToExpressionAdapter;
+import org.apache.camel.support.ObjectHelper;
+import org.apache.camel.support.PredicateToExpressionAdapter;
/**
* Default implementation of the {@link AnnotationExpressionFactory}.
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java
index c0aa7df..6adb4ef 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java
@@ -42,18 +42,19 @@ import org.apache.camel.Message;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.Pattern;
import org.apache.camel.Processor;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.StreamCache;
-import org.apache.camel.impl.DefaultMessage;
import org.apache.camel.processor.DynamicRouter;
import org.apache.camel.processor.RecipientList;
import org.apache.camel.processor.RoutingSlip;
import org.apache.camel.processor.aggregate.AggregationStrategy;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultMessage;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.ExpressionAdapter;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.ExchangeHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.ObjectHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.StringQuoteHelper;
import org.slf4j.Logger;
@@ -97,7 +98,7 @@ public class MethodInfo {
try {
return invoke(method, pojo, arguments, exchange);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -138,7 +139,7 @@ public class MethodInfo {
try {
camelContext.addService(routingSlip);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -154,7 +155,7 @@ public class MethodInfo {
try {
camelContext.addService(dynamicRouter);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -172,7 +173,7 @@ public class MethodInfo {
recipientList.setTimeout(recipientListAnnotation.timeout());
recipientList.setShareUnitOfWork(recipientListAnnotation.shareUnitOfWork());
- if (ObjectHelper.isNotEmpty(recipientListAnnotation.executorServiceRef())) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(recipientListAnnotation.executorServiceRef())) {
ExecutorService executor = camelContext.getExecutorServiceManager().newDefaultThreadPool(this, recipientListAnnotation.executorServiceRef());
recipientList.setExecutorService(executor);
}
@@ -183,12 +184,12 @@ public class MethodInfo {
recipientList.setExecutorService(executor);
}
- if (ObjectHelper.isNotEmpty(recipientListAnnotation.strategyRef())) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(recipientListAnnotation.strategyRef())) {
AggregationStrategy strategy = CamelContextHelper.mandatoryLookup(camelContext, recipientListAnnotation.strategyRef(), AggregationStrategy.class);
recipientList.setAggregationStrategy(strategy);
}
- if (ObjectHelper.isNotEmpty(recipientListAnnotation.onPrepareRef())) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(recipientListAnnotation.onPrepareRef())) {
Processor onPrepare = CamelContextHelper.mandatoryLookup(camelContext, recipientListAnnotation.onPrepareRef(), Processor.class);
recipientList.setOnPrepare(onPrepare);
}
@@ -197,7 +198,7 @@ public class MethodInfo {
try {
camelContext.addService(recipientList);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
}
@@ -232,7 +233,7 @@ public class MethodInfo {
* Does the given context match this camel context
*/
private boolean matchContext(String context) {
- if (ObjectHelper.isNotEmpty(context)) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(context)) {
if (!camelContext.getName().equals(context)) {
return false;
}
@@ -431,7 +432,7 @@ public class MethodInfo {
public boolean bodyParameterMatches(Class<?> bodyType) {
Class<?> actualType = getBodyParameterType();
- return actualType != null && ObjectHelper.isAssignableFrom(bodyType, actualType);
+ return actualType != null && org.apache.camel.util.ObjectHelper.isAssignableFrom(bodyType, actualType);
}
public List<ParameterInfo> getParameters() {
@@ -780,11 +781,11 @@ public class MethodInfo {
// its a valid parameter value, so convert it to the expected type of the parameter
answer = exchange.getContext().getTypeConverter().mandatoryConvertTo(parameterType, exchange, parameterValue);
if (LOG.isTraceEnabled()) {
- LOG.trace("Parameter #{} evaluated as: {} type: ", index, answer, ObjectHelper.type(answer));
+ LOG.trace("Parameter #{} evaluated as: {} type: ", index, answer, org.apache.camel.util.ObjectHelper.type(answer));
}
} catch (Exception e) {
if (LOG.isDebugEnabled()) {
- LOG.debug("Cannot convert from type: {} to type: {} for parameter #{}", ObjectHelper.type(parameterValue), parameterType, index);
+ LOG.debug("Cannot convert from type: {} to type: {} for parameter #{}", org.apache.camel.util.ObjectHelper.type(parameterValue), parameterType, index);
}
throw new ParameterBindingException(e, method, index, parameterType, parameterValue);
}
@@ -813,11 +814,11 @@ public class MethodInfo {
answer = exchange.getContext().getTypeConverter().mandatoryConvertTo(parameterType, result);
}
if (LOG.isTraceEnabled()) {
- LOG.trace("Parameter #{} evaluated as: {} type: ", index, answer, ObjectHelper.type(answer));
+ LOG.trace("Parameter #{} evaluated as: {} type: ", index, answer, org.apache.camel.util.ObjectHelper.type(answer));
}
} catch (NoTypeConversionAvailableException e) {
if (LOG.isDebugEnabled()) {
- LOG.debug("Cannot convert from type: {} to type: {} for parameter #{}", ObjectHelper.type(result), parameterType, index);
+ LOG.debug("Cannot convert from type: {} to type: {} for parameter #{}", org.apache.camel.util.ObjectHelper.type(result), parameterType, index);
}
throw new ParameterBindingException(e, method, index, parameterType, result);
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
index 78c5389..7bd7a20 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
@@ -20,7 +20,7 @@ import java.lang.reflect.Method;
import java.util.Map;
import org.apache.camel.CamelContext;
-import org.apache.camel.util.LRUCacheFactory;
+import org.apache.camel.support.LRUCacheFactory;
/**
* Represents a cache of {@link MethodInfo} objects to avoid the expense of introspection for each
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/PojoProxyHelper.java b/camel-core/src/main/java/org/apache/camel/component/bean/PojoProxyHelper.java
index 98964e6..1d5dfc3 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/PojoProxyHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/PojoProxyHelper.java
@@ -20,7 +20,7 @@ import java.lang.reflect.Proxy;
import org.apache.camel.Endpoint;
import org.apache.camel.Producer;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.ServiceHelper;
/**
* Create a dynamic proxy for a given interface and endpoint that sends the parameter object to the endpoint and optionally
diff --git a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
index 12233eb..ed3b2f0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
@@ -23,7 +23,7 @@ import org.apache.camel.component.bean.BeanComponent;
import org.apache.camel.component.bean.BeanHolder;
import org.apache.camel.component.bean.ConstantBeanHolder;
import org.apache.camel.component.bean.ConstantTypeBeanHolder;
-import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.support.IntrospectionSupport;
/**
* The <a href="http://camel.apache.org/class.html">Class Component</a> is for binding JavaBeans to Camel message exchanges based on class name.
diff --git a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java
index b9f75b0..1fe4ab2 100644
--- a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.browse;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/browse.html">Browse Component</a> provides a simple
diff --git a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
index dcccd2c..a20c6c7 100644
--- a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
@@ -24,8 +24,6 @@ import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.camel.impl.DefaultProducer;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.LoadBalancerConsumer;
import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
@@ -33,6 +31,8 @@ import org.apache.camel.spi.BrowsableEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
+import org.apache.camel.support.DefaultProducer;
/**
* The browse component is used for viewing the messages received on endpoints that supports {@link BrowsableEndpoint}.
diff --git a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java
index 2893bdb..71f4f0a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java
@@ -20,7 +20,7 @@ import java.util.Map;
import java.util.concurrent.ExecutorService;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/controlbus.html">Control Bus component</a> allows sending messages to a control-bus endpoint to control the lifecycle of routes.
diff --git a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
index 20eb4a2..78c81f4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
@@ -22,13 +22,13 @@ import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.DefaultEndpoint;
/**
* The controlbus component provides easy management of Camel applications based on the Control Bus EIP pattern.
diff --git a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
index f10b094..326c6af 100644
--- a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
@@ -27,10 +27,10 @@ import org.apache.camel.Expression;
import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.ExpressionBuilder;
-import org.apache.camel.impl.DefaultAsyncProducer;
import org.apache.camel.spi.Language;
-import org.apache.camel.util.CamelLogger;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.util.ObjectHelper;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java
index e615182b5..797fa6f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java
@@ -19,9 +19,9 @@ package org.apache.camel.component.dataformat;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.DataFormat;
-import org.apache.camel.util.EndpointHelper;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.EndpointHelper;
import org.apache.camel.util.StringHelper;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java
index e8e134c..12f673b 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java
@@ -23,15 +23,15 @@ import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultAsyncProducer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.processor.MarshalProcessor;
import org.apache.camel.processor.UnmarshalProcessor;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.DefaultEndpoint;
+import org.apache.camel.support.ServiceHelper;
/**
* The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs.
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java
index 11410fc..457ae5d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.dataset;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultComponent;
/**
* Component for <a href="http://camel.apache.org/dataset.html">DataSet</a>.
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java
index f279036..81e341f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetConsumer.java
@@ -21,9 +21,9 @@ import java.util.concurrent.ExecutorService;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.processor.ThroughputLogger;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.DefaultConsumer;
import org.apache.camel.util.URISupport;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
index ff40053..ecdae8f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
@@ -31,8 +31,8 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.CamelLogger;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.URISupport;
import org.slf4j.Logger;
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
index 91e4361..34eb0e1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
@@ -20,9 +20,9 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.ServiceHelper;
/**
* The <a href="http://camel.apache.org/direct.html">Direct Component</a> manages {@link DirectEndpoint} and holds the list of named direct endpoints.
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
index cc90cd7..b971413 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
@@ -20,8 +20,8 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.ShutdownRunningTask;
import org.apache.camel.Suspendable;
-import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.spi.ShutdownAware;
+import org.apache.camel.support.DefaultConsumer;
/**
* The direct consumer.
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
index 4594d6a..a52851a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
@@ -25,11 +25,11 @@ import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
import org.apache.camel.util.StopWatch;
import org.apache.camel.util.StringHelper;
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java
index 02dce63..53db97c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java
@@ -18,9 +18,7 @@ package org.apache.camel.component.direct;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultAsyncProducer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.DefaultAsyncProducer;
/**
* The direct producer.
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmBlockingProducer.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmBlockingProducer.java
index a2e14ed..38845a8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmBlockingProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmBlockingProducer.java
@@ -18,10 +18,8 @@ package org.apache.camel.component.directvm;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultAsyncProducer;
+import org.apache.camel.support.DefaultAsyncProducer;
import org.apache.camel.util.StopWatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The direct producer.
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
index 2e894ad..a4beb8a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
@@ -24,9 +24,9 @@ import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/direct-vm.html">Direct VM Component</a> manages {@link DirectVmEndpoint} and holds the list of named direct-vm endpoints.
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
index 827e975..2093a5f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.directvm;
import org.apache.camel.Processor;
import org.apache.camel.Suspendable;
-import org.apache.camel.impl.DefaultConsumer;
+import org.apache.camel.support.DefaultConsumer;
/**
* The direct-vm consumer
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
index b4188cf..a2226d9 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
@@ -21,12 +21,12 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.component.direct.DirectConsumer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
/**
* The direct-vm component provides direct, synchronous call to another endpoint from any CamelContext in the same JVM.
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java
index c74c3e5..2ddb7d1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProcessor.java
@@ -20,9 +20,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.processor.DelegateAsyncProcessor;
-import org.apache.camel.util.ExchangeHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.ExchangeHelper;
/**
*
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProducer.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProducer.java
index f92273e..d84b061 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmProducer.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.directvm;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
-import org.apache.camel.impl.DefaultAsyncProducer;
import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.support.DefaultAsyncProducer;
/**
* The Direct-VM producer.
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 ddc2865..89c45bc 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
@@ -28,8 +28,6 @@ import org.apache.camel.component.extension.ComponentVerifierExtensionHelper.Exc
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;
/**
* Defines the interface used for validating component/endpoint parameters. The central method of this
@@ -121,8 +119,6 @@ public interface ComponentVerifierExtension extends ComponentExtension {
*/
CONNECTIVITY;
- private static final ComponentVerifierExtension.Scope[] VALUES = values();
-
/**
* Get an instance of this scope from a string representation
*
@@ -130,12 +126,7 @@ public interface ComponentVerifierExtension extends ComponentExtension {
* @return the scope enum represented by this string
*/
public static Scope fromString(String scope) {
- for (Scope value : VALUES) {
- if (ObjectHelper.equal(scope, value.name(), true)) {
- return value;
- }
- }
- throw new IllegalArgumentException("Unknown scope <" + scope + ">");
+ return Scope.valueOf(scope != null ? scope.toUpperCase() : null);
}
}
@@ -219,8 +210,8 @@ public interface ComponentVerifierExtension extends ComponentExtension {
* Convert a string to an {@link Attribute}
*
* @param attribute the string representation of an attribute to convert. It should be in all lower case (with
- * underscore as a separator) to avoid overlap with standard attributes like {@linkExceptionAttribute},
- * {@linkHttpAttribute} or {@link GroupAttribute}
+ * underscore as a separator) to avoid overlap with standard attributes like {@link ExceptionAttribute},
+ * {@link HttpAttribute} or {@link GroupAttribute}
* @return generated attribute
*/
static Attribute asAttribute(String attribute) {
@@ -315,7 +306,8 @@ public interface ComponentVerifierExtension extends ComponentExtension {
* Interface defining an attribute which is a key for the detailed error messages. This is implemented by several
* standard enums like {@link ExceptionAttribute}, {@link HttpAttribute} or {@link GroupAttribute} but can also
* implemented for component specific details. This is best done via {@link #asAttribute(String)}
- * or using one of the other builder method in this error builder (like {@link ResultErrorBuilder#detail(String, Object)}
+ * or using one of the other builder method in this error builder (like
+ * {@link org.apache.camel.component.extension.verifier.ResultErrorBuilder#detail(String, Object)}
* <p>
* With respecting to name, the same rules as for {@link Code} apply: Standard attributes are all upper case with _
* as separators, whereas custom attributes are lower case with underscore separators.
diff --git a/camel-core/src/main/java/org/apache/camel/component/extension/verifier/DefaultComponentVerifierExtension.java b/camel-core/src/main/java/org/apache/camel/component/extension/verifier/DefaultComponentVerifierExtension.java
index 3de4638..20aa336 100644
--- a/camel-core/src/main/java/org/apache/camel/component/extension/verifier/DefaultComponentVerifierExtension.java
+++ b/camel-core/src/main/java/org/apache/camel/component/extension/verifier/DefaultComponentVerifierExtension.java
@@ -29,9 +29,9 @@ import org.apache.camel.TypeConverter;
import org.apache.camel.component.extension.ComponentVerifierExtension;
import org.apache.camel.runtimecatalog.EndpointValidationResult;
import org.apache.camel.runtimecatalog.RuntimeCamelCatalog;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.IntrospectionSupport;
import static org.apache.camel.util.StreamUtils.stream;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
index 666ae02..6f12ca0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
@@ -22,6 +22,7 @@ import java.nio.file.Path;
import java.util.Map;
import org.apache.camel.Exchange;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.WrappedFile;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
@@ -77,7 +78,7 @@ public class GenericFile<T> implements WrappedFile<T> {
try {
result = source.getClass().newInstance();
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
result.setCopyFromAbsoluteFilePath(source.getAbsoluteFilePath());
result.setEndpointPath(source.getEndpointPath());
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
index 9e7ce96..df6fee4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
@@ -22,10 +22,10 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.ObjectHelper;
import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
index 4ffd8e1..a552519 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileConsumer.java
@@ -28,17 +28,15 @@ import org.apache.camel.CamelContextAware;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.ShutdownRunningTask;
-import org.apache.camel.impl.ScheduledBatchPollingConsumer;
import org.apache.camel.support.EmptyAsyncCallback;
+import org.apache.camel.support.ScheduledBatchPollingConsumer;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.StopWatch;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.TimeUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Base class for file consumers.
@@ -687,7 +685,7 @@ public abstract class GenericFileConsumer<T> extends ScheduledBatchPollingConsum
Exchange dummy = endpoint.createExchange();
fileExpressionResult = endpoint.getFileName().evaluate(dummy, String.class);
if (dummy.getException() != null) {
- throw ObjectHelper.wrapRuntimeCamelException(dummy.getException());
+ throw RuntimeCamelException.wrapRuntimeCamelException(dummy.getException());
}
}
return fileExpressionResult;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java
index cc3bc9d..5a316b8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java
@@ -22,7 +22,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.spi.Language;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.ObjectHelper;
/**
* Default file sorter.
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
index bf95c71..4a778f0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
@@ -36,8 +36,8 @@ import org.apache.camel.LoggingLevel;
import org.apache.camel.Message;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.component.file.strategy.FileMoveExistingStrategy;
-import org.apache.camel.impl.ScheduledPollEndpoint;
import org.apache.camel.processor.idempotent.MemoryIdempotentRepository;
import org.apache.camel.spi.BrowsableEndpoint;
import org.apache.camel.spi.ExceptionHandler;
@@ -45,10 +45,11 @@ import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.IdempotentRepository;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.UriParam;
+import org.apache.camel.support.ObjectHelper;
+import org.apache.camel.support.ScheduledPollEndpoint;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -256,7 +257,7 @@ public abstract class GenericFileEndpoint<T> extends ScheduledPollEndpoint imple
// invoke poll which performs the custom processing, so we can browse the exchanges
consumer.poll();
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
} finally {
try {
ServiceHelper.stopService(consumer);
@@ -1283,7 +1284,7 @@ public abstract class GenericFileEndpoint<T> extends ScheduledPollEndpoint imple
// need to normalize paths to ensure we can match using startsWith
endpointPath = FileUtil.normalizePath(endpointPath);
String copyOfName = FileUtil.normalizePath(name);
- if (ObjectHelper.isNotEmpty(endpointPath) && copyOfName.startsWith(endpointPath)) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(endpointPath) && copyOfName.startsWith(endpointPath)) {
name = name.substring(endpointPath.length());
}
@@ -1429,7 +1430,7 @@ public abstract class GenericFileEndpoint<T> extends ScheduledPollEndpoint imple
}
String answer = pattern;
- if (ObjectHelper.isNotEmpty(path) && ObjectHelper.isNotEmpty(pattern)) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(path) && org.apache.camel.util.ObjectHelper.isNotEmpty(pattern)) {
// done file must always be in same directory as the real file name
answer = path + getFileSeparator() + pattern;
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java
index bb71009..5f298c1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileMessage.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.file;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
-import org.apache.camel.impl.DefaultMessage;
+import org.apache.camel.support.DefaultMessage;
/**
* Generic file message
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFilePollingConsumer.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFilePollingConsumer.java
index 91ec5fa..8ff3969 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFilePollingConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFilePollingConsumer.java
@@ -18,14 +18,12 @@ package org.apache.camel.component.file;
import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.EventDrivenPollingConsumer;
-import org.apache.camel.impl.ScheduledBatchPollingConsumer;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.PollingConsumerPollStrategy;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.EventDrivenPollingConsumer;
+import org.apache.camel.support.ScheduledBatchPollingConsumer;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.StopWatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class GenericFilePollingConsumer extends EventDrivenPollingConsumer {
@@ -193,7 +191,7 @@ public class GenericFilePollingConsumer extends EventDrivenPollingConsumer {
}
if (cause != null) {
- throw ObjectHelper.wrapRuntimeCamelException(cause);
+ throw RuntimeCamelException.wrapRuntimeCamelException(cause);
}
return polledMessages;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
index d8aff51..4b01f58 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
@@ -23,12 +23,12 @@ import java.util.concurrent.locks.ReentrantLock;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
-import org.apache.camel.impl.DefaultExchange;
-import org.apache.camel.impl.DefaultProducer;
+import org.apache.camel.support.DefaultExchange;
+import org.apache.camel.support.DefaultProducer;
+import org.apache.camel.support.LRUCacheFactory;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.LRUCacheFactory;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
index e2a274f..7b10782 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileChangedExclusiveReadLockStrategy.java
@@ -23,7 +23,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.LoggingLevel;
import org.apache.camel.component.file.GenericFile;
import org.apache.camel.component.file.GenericFileOperations;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.util.StopWatch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
index b24edd2..5ad7fec 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentChangedRepositoryReadLockStrategy.java
@@ -29,11 +29,9 @@ import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
import org.apache.camel.component.file.GenericFileOperations;
import org.apache.camel.spi.IdempotentRepository;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelLogger;
import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A file read lock that uses an {@link IdempotentRepository} and {@link FileChangedExclusiveReadLockStrategy changed} as the lock strategy.
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
index d6878e5..6df72ee 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRenameRepositoryReadLockStrategy.java
@@ -27,11 +27,9 @@ import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
import org.apache.camel.component.file.GenericFileOperations;
import org.apache.camel.spi.IdempotentRepository;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelLogger;
import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A file read lock that uses an {@link IdempotentRepository} and {@link FileRenameExclusiveReadLockStrategy rename} as the lock strategy.
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
index 75b0e84..2619505 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileIdempotentRepositoryReadLockStrategy.java
@@ -29,11 +29,9 @@ import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
import org.apache.camel.component.file.GenericFileOperations;
import org.apache.camel.spi.IdempotentRepository;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelLogger;
import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A file read lock that uses an {@link org.apache.camel.spi.IdempotentRepository} as the lock strategy. This allows to plugin and use existing
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
index d43d1bc..64ac1b0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileLockExclusiveReadLockStrategy.java
@@ -28,7 +28,7 @@ import org.apache.camel.LoggingLevel;
import org.apache.camel.component.file.GenericFile;
import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileOperations;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.StopWatch;
import org.slf4j.Logger;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java
index f4aeaeb..de011b5 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileDeleteProcessStrategy.java
@@ -21,7 +21,7 @@ import org.apache.camel.component.file.GenericFile;
import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileOperationFailedException;
import org.apache.camel.component.file.GenericFileOperations;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.ExchangeHelper;
public class GenericFileDeleteProcessStrategy<T> extends GenericFileProcessStrategySupport<T> {
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java
index 5c145ec..c916075 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategySupport.java
@@ -28,11 +28,9 @@ import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
import org.apache.camel.component.file.GenericFileOperationFailedException;
import org.apache.camel.component.file.GenericFileOperations;
import org.apache.camel.component.file.GenericFileProcessStrategy;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.support.ServiceSupport;
import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.ServiceHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Base class for implementations of {@link GenericFileProcessStrategy}.
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
index c8b0992..2bba3ff 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameExclusiveReadLockStrategy.java
@@ -25,7 +25,7 @@ import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
import org.apache.camel.component.file.GenericFileOperationFailedException;
import org.apache.camel.component.file.GenericFileOperations;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
import org.apache.camel.util.StopWatch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java
index ada2a9c..bd69cd5 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileRenameProcessStrategy.java
@@ -21,7 +21,7 @@ import org.apache.camel.component.file.FileEndpoint;
import org.apache.camel.component.file.GenericFile;
import org.apache.camel.component.file.GenericFileEndpoint;
import org.apache.camel.component.file.GenericFileOperations;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.ExchangeHelper;
public class GenericFileRenameProcessStrategy<T> extends GenericFileProcessStrategySupport<T> {
private GenericFileRenamer<T> beginRenamer;
diff --git a/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java b/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java
index a166487..69abdae 100644
--- a/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java
@@ -20,10 +20,10 @@ import java.net.URLDecoder;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Language;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ResourceHelper;
import org.apache.camel.util.StringHelper;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
index da5f75d..e1410ce 100644
--- a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
@@ -33,9 +33,9 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ResourceHelper;
/**
* The language component allows you to send a message to an endpoint which executes a script by any of the supported Languages in Camel.
diff --git a/camel-core/src/main/java/org/apache/camel/component/language/LanguageProducer.java b/camel-core/src/main/java/org/apache/camel/component/language/LanguageProducer.java
index 8e9e9a3..cc162ee 100644
--- a/camel-core/src/main/java/org/apache/camel/component/language/LanguageProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/language/LanguageProducer.java
@@ -21,10 +21,10 @@ import java.io.InputStream;
import org.apache.camel.CamelExchangeException;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
-import org.apache.camel.impl.DefaultProducer;
+import org.apache.camel.support.DefaultProducer;
+import org.apache.camel.support.ResourceHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.ResourceHelper;
-import org.apache.camel.util.ServiceHelper;
/**
* Language producer.
diff --git a/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java b/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
index c8cedc0..1dc443a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
@@ -21,13 +21,12 @@ import java.util.Map;
import org.apache.camel.Endpoint;
import org.apache.camel.LoggingLevel;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.processor.DefaultExchangeFormatter;
import org.apache.camel.spi.ExchangeFormatter;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.DefaultComponent;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The <a href="http://camel.apache.org/log.html">Log Component</a>
diff --git a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
index 5c35a22..728b9b4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
@@ -20,7 +20,6 @@ import org.apache.camel.Component;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.ProcessorEndpoint;
import org.apache.camel.model.Constants;
import org.apache.camel.processor.CamelLogProcessor;
import org.apache.camel.processor.DefaultExchangeFormatter;
@@ -32,8 +31,9 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.CamelLogger;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.ProcessorEndpoint;
+import org.apache.camel.support.ServiceHelper;
import org.slf4j.Logger;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java b/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java
index 291d3a5..85b7d29 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogProducer.java
@@ -21,8 +21,8 @@ import org.apache.camel.AsyncProcessor;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.impl.DefaultAsyncProducer;
-import org.apache.camel.util.AsyncProcessorConverterHelper;
+import org.apache.camel.support.AsyncProcessorConverterHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
/**
* Log producer.
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java b/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
index 9a2714b..05aee86 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
@@ -28,7 +28,7 @@ import org.apache.camel.builder.ExpressionClause;
import org.apache.camel.builder.ExpressionClauseSupport;
import org.apache.camel.builder.ValueBuilder;
import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.util.PredicateAssertHelper;
+import org.apache.camel.support.PredicateAssertHelper;
/**
* A builder of assertions on message exchanges
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java b/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java
index 466ae3d..99d294a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java
@@ -21,9 +21,9 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.processor.ThroughputLogger;
-import org.apache.camel.util.CamelLogger;
+import org.apache.camel.support.CamelLogger;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/mock.html">Mock Component</a> provides mock endpoints for testing.
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
index ad15812..7ada755 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
@@ -44,22 +44,20 @@ import org.apache.camel.Predicate;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.builder.ProcessorBuilder;
-import org.apache.camel.impl.DefaultAsyncProducer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.InterceptSendToEndpoint;
import org.apache.camel.spi.BrowsableEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.ExchangeHelper;
-import org.apache.camel.util.ExpressionComparator;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.DefaultEndpoint;
+import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.ExpressionComparator;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StopWatch;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The mock component is used for testing routes and mediation rules using mocks.
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/Time.java b/camel-core/src/main/java/org/apache/camel/component/mock/Time.java
new file mode 100644
index 0000000..4a82097
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/Time.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.component.mock;
+
+import java.util.Locale;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * A helper class for working with times in various units
+ */
+public class Time {
+ private final long number;
+ private final TimeUnit timeUnit;
+
+ public Time(long number, TimeUnit timeUnit) {
+ this.number = number;
+ this.timeUnit = timeUnit;
+ }
+
+ public long toMillis() {
+ return timeUnit.toMillis(number);
+ }
+
+ public long getNumber() {
+ return number;
+ }
+
+ public TimeUnit getTimeUnit() {
+ return timeUnit;
+ }
+
+ @Override
+ public String toString() {
+ return number + " " + timeUnit.toString().toLowerCase(Locale.ENGLISH);
+ }
+}
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/TimeClause.java b/camel-core/src/main/java/org/apache/camel/component/mock/TimeClause.java
index a1314fb..23545b0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/TimeClause.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/TimeClause.java
@@ -23,7 +23,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.builder.BinaryPredicateSupport;
-import org.apache.camel.util.Time;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
index 873a675..64c3398 100644
--- a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
@@ -28,13 +28,11 @@ import java.util.Properties;
import java.util.stream.Collectors;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.LRUCacheFactory;
import org.apache.camel.util.FilePathResolver;
-import org.apache.camel.util.LRUCacheFactory;
import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The <a href="http://camel.apache.org/properties">Properties Component</a> allows you to use property placeholders when defining Endpoint URIs
diff --git a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java
index 7fd68de..6e8aa30 100644
--- a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java
@@ -22,11 +22,11 @@ import org.apache.camel.DelegateEndpoint;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
/**
* The properties component is used for using property placeholders in endpoint uris.
diff --git a/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java b/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
index dffa4f6..92b605f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.ref;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/ref.html">Ref Component</a> is for lookup of existing endpoints bound in the {@link org.apache.camel.spi.Registry}.
diff --git a/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java
index 1818c39..4e2461c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java
@@ -22,11 +22,11 @@ import org.apache.camel.DelegateEndpoint;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultEndpoint;
/**
* The ref component is used for lookup of existing endpoints bound in the Registry.
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java
index e3bcbb1..beef49e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.rest;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
/**
* Rest API component.
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
index eb31b42..1191e25 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
@@ -26,7 +26,6 @@ import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.NoSuchBeanException;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.RestApiConsumerFactory;
@@ -35,6 +34,7 @@ import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
import org.apache.camel.util.HostUtils;
import org.apache.camel.util.ObjectHelper;
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiProducer.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiProducer.java
index 77c994d..13701f1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiProducer.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.rest;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.impl.DefaultProducer;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.DefaultProducer;
+import org.apache.camel.support.ServiceHelper;
public class RestApiProducer extends DefaultProducer {
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java
index d2cb33f..4909959 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java
@@ -26,13 +26,13 @@ import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.component.extension.ComponentVerifierExtension;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.model.rest.RestConstants;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.RestConfiguration;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.IntrospectionSupport;
import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.URISupport;
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
index 4a11e45..8d3bfd4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
@@ -26,7 +26,6 @@ import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.NoSuchBeanException;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.model.rest.RestBindingMode;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.Metadata;
@@ -36,10 +35,9 @@ import org.apache.camel.spi.RestProducerFactory;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
import org.apache.camel.util.HostUtils;
import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import static org.apache.camel.spi.RestProducerFactoryHelper.setupComponent;
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestProducer.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestProducer.java
index 7cbf42d..96677dc 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestProducer.java
@@ -33,17 +33,17 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultAsyncProducer;
import org.apache.camel.model.rest.RestBindingMode;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.RestConfiguration;
-import org.apache.camel.util.AsyncProcessorConverterHelper;
+import org.apache.camel.support.AsyncProcessorConverterHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.CollectionStringBuffer;
-import org.apache.camel.util.EndpointHelper;
import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.URISupport;
import static org.apache.camel.util.ObjectHelper.isEmpty;
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestProducerBindingProcessor.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestProducerBindingProcessor.java
index fc6fbd7..132f3eb 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestProducerBindingProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestProducerBindingProcessor.java
@@ -29,9 +29,9 @@ import org.apache.camel.processor.MarshalProcessor;
import org.apache.camel.processor.UnmarshalProcessor;
import org.apache.camel.processor.binding.BindingException;
import org.apache.camel.spi.DataFormat;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
/**
* A {@link org.apache.camel.Processor} that binds the REST producer request and reply messages
diff --git a/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java b/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java
index 55414ed..0067ebc 100644
--- a/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java
@@ -20,7 +20,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java
index a0f3114..995e234 100644
--- a/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java
@@ -19,10 +19,10 @@ package org.apache.camel.component.saga;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
import org.apache.camel.util.ObjectHelper;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/saga/SagaProducer.java b/camel-core/src/main/java/org/apache/camel/component/saga/SagaProducer.java
index 830e96e..e19813b 100644
--- a/camel-core/src/main/java/org/apache/camel/component/saga/SagaProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/saga/SagaProducer.java
@@ -18,9 +18,9 @@ package org.apache.camel.component.saga;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultAsyncProducer;
import org.apache.camel.saga.CamelSagaService;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
/**
* A producer that finalizes the current saga.
diff --git a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java
index 2c6708f..5504677 100644
--- a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java
@@ -23,8 +23,8 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.support.DefaultComponent;
public class SchedulerComponent extends DefaultComponent {
diff --git a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerConsumer.java b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerConsumer.java
index 19cb704..8e7c457 100644
--- a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerConsumer.java
@@ -21,7 +21,7 @@ import java.util.Date;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.impl.ScheduledPollConsumer;
+import org.apache.camel.support.ScheduledPollConsumer;
public class SchedulerConsumer extends ScheduledPollConsumer {
diff --git a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
index 239d0d3..d8137bb 100644
--- a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
@@ -21,11 +21,11 @@ import java.util.concurrent.ScheduledExecutorService;
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.impl.ScheduledPollEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.ScheduledPollEndpoint;
/**
* The scheduler component is used for generating message exchanges when a scheduler fires.
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java
index 1fbd38f..6fe75e6 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java
@@ -23,8 +23,8 @@ import java.util.concurrent.BlockingQueue;
import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.support.DefaultComponent;
import org.apache.camel.util.SedaConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
index 50f02f1..59f8dd6 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
@@ -35,15 +35,13 @@ import org.apache.camel.processor.MulticastProcessor;
import org.apache.camel.spi.ExceptionHandler;
import org.apache.camel.spi.ShutdownAware;
import org.apache.camel.spi.Synchronization;
+import org.apache.camel.support.AsyncProcessorConverterHelper;
import org.apache.camel.support.EmptyAsyncCallback;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.LoggingExceptionHandler;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.AsyncProcessorConverterHelper;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.UnitOfWorkHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.UnitOfWorkHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* A Consumer for the SEDA component.
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
index bfa1c98..54f5dd4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
@@ -36,18 +36,16 @@ import org.apache.camel.WaitForTaskToComplete;
import org.apache.camel.api.management.ManagedAttribute;
import org.apache.camel.api.management.ManagedOperation;
import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.processor.MulticastProcessor;
import org.apache.camel.spi.BrowsableEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.SedaConstants;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaPollingConsumer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaPollingConsumer.java
index 7243906..ae8ae38 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaPollingConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaPollingConsumer.java
@@ -21,8 +21,8 @@ import java.util.concurrent.TimeUnit;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.IsSingleton;
-import org.apache.camel.impl.PollingConsumerSupport;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.support.PollingConsumerSupport;
public class SedaPollingConsumer extends PollingConsumerSupport implements IsSingleton {
@@ -41,7 +41,7 @@ public class SedaPollingConsumer extends PollingConsumerSupport implements IsSin
return getEndpoint().getQueue().take();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -56,7 +56,7 @@ public class SedaPollingConsumer extends PollingConsumerSupport implements IsSin
return getEndpoint().getQueue().poll(timeout, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
index 28a5873..38a059b 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
@@ -24,9 +24,9 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangeTimedOutException;
import org.apache.camel.WaitForTaskToComplete;
-import org.apache.camel.impl.DefaultAsyncProducer;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.SynchronizationAdapter;
-import org.apache.camel.util.ExchangeHelper;
public class SedaProducer extends DefaultAsyncProducer {
diff --git a/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java b/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java
index cee04c9..81dcef0 100644
--- a/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.test;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.DefaultComponent;
import org.apache.camel.util.URISupport;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java
index 1f7d51b..3782f13 100644
--- a/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java
@@ -30,10 +30,8 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.ObjectHelper;
/**
* The test component extends the mock component by on startup to pull messages from another endpoint to set the expected message bodies.
@@ -82,7 +80,7 @@ public class TestEndpoint extends MockEndpoint {
}
if (split) {
// use new lines in both styles
- Iterator it = ObjectHelper.createIterator(body, delimiter, false, true);
+ Iterator<?> it = ObjectHelper.createIterator(body, delimiter, false, true);
while (it.hasNext()) {
Object line = it.next();
log.trace("Received message body {}", line);
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
index 70106e8..8a70211 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
@@ -25,7 +25,7 @@ import java.util.Timer;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/timer.html">Timer Component</a> is for generating message exchanges when a timer fires.
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
index dc2e150..eab3bb7 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
@@ -28,9 +28,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.StartupListener;
import org.apache.camel.Suspendable;
-import org.apache.camel.impl.DefaultConsumer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.DefaultConsumer;
/**
* The timer consumer.
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
index c9e8ca9..4acf787 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
@@ -27,11 +27,11 @@ import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.api.management.ManagedAttribute;
import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
/**
* The timer component is used for generating message exchanges when a timer fires.
diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java b/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java
index d4e7f63..dc9bec3 100644
--- a/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java
+++ b/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java
@@ -26,9 +26,10 @@ import org.w3c.dom.ls.LSInput;
import org.w3c.dom.ls.LSResourceResolver;
import org.apache.camel.CamelContext;
+import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ResourceHelper;
/**
* Default {@link LSResourceResolver} which can included schema resources.
@@ -130,7 +131,7 @@ public class DefaultLSResourceResolver implements LSResourceResolver {
try {
return ResourceHelper.resolveMandatoryResourceAsInputStream(camelContext, uri);
} catch (IOException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
index 9899501..e226cb8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
@@ -19,8 +19,8 @@ package org.apache.camel.component.validator;
import java.util.Map;
import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.support.DefaultComponent;
/**
* The <a href="http://camel.apache.org/validation.html">Validator Component</a> is for validating XML against a schema
diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java
index 941e57f..5b04f84 100644
--- a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java
@@ -27,7 +27,6 @@ import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.api.management.ManagedOperation;
import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.processor.validation.DefaultValidationErrorHandler;
import org.apache.camel.processor.validation.SchemaReader;
import org.apache.camel.processor.validation.ValidatingProcessor;
@@ -36,6 +35,7 @@ import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
/**
diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorProducer.java b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorProducer.java
index 41bc06c..0cdea01 100644
--- a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorProducer.java
@@ -19,9 +19,9 @@ package org.apache.camel.component.validator;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultAsyncProducer;
import org.apache.camel.processor.validation.ValidatingProcessor;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.DefaultAsyncProducer;
+import org.apache.camel.support.ServiceHelper;
public class ValidatorProducer extends DefaultAsyncProducer {
diff --git a/camel-core/src/main/java/org/apache/camel/component/vm/VmConsumer.java b/camel-core/src/main/java/org/apache/camel/component/vm/VmConsumer.java
index ef4666c..7e7901f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/vm/VmConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/vm/VmConsumer.java
@@ -21,7 +21,7 @@ import org.apache.camel.CamelContextAware;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.component.seda.SedaConsumer;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.ExchangeHelper;
public class VmConsumer extends SedaConsumer implements CamelContextAware {
diff --git a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
index aa57b52..00241a3 100644
--- a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
@@ -24,12 +24,10 @@ import javax.xml.transform.URIResolver;
import org.apache.camel.Endpoint;
import org.apache.camel.converter.jaxp.XmlConverter;
-import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.spi.Metadata;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.ResourceHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.ResourceHelper;
/**
* The <a href="http://camel.apache.org/xslt.html">XSLT Component</a> is for performing XSLT transformations of messages
diff --git a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
index bd6c581..942fb8e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
@@ -38,18 +38,16 @@ import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.builder.xml.ResultHandlerFactory;
import org.apache.camel.builder.xml.XsltBuilder;
import org.apache.camel.converter.jaxp.XmlConverter;
-import org.apache.camel.impl.ProcessorEndpoint;
import org.apache.camel.spi.ClassResolver;
import org.apache.camel.spi.Injector;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.EndpointHelper;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.ProcessorEndpoint;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Transforms the message using a XSLT template.
diff --git a/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java b/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
index 47a64ad..9a71aa9 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
@@ -42,12 +42,12 @@ import java.net.URL;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
-import java.nio.charset.UnsupportedCharsetException;
import java.util.Properties;
import java.util.function.Supplier;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.util.IOHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -96,7 +96,7 @@ public final class IOConverter {
@Converter
public static BufferedReader toReader(File file, Exchange exchange) throws IOException {
- return toReader(file, IOHelper.getCharsetName(exchange));
+ return toReader(file, ExchangeHelper.getCharsetName(exchange));
}
public static BufferedReader toReader(File file, String charset) throws IOException {
@@ -117,7 +117,7 @@ public final class IOConverter {
@Converter
public static BufferedWriter toWriter(File file, Exchange exchange) throws IOException {
FileOutputStream os = new FileOutputStream(file, false);
- return toWriter(os, IOHelper.getCharsetName(exchange));
+ return toWriter(os, ExchangeHelper.getCharsetName(exchange));
}
public static BufferedWriter toWriter(File file, boolean append, String charset) throws IOException {
@@ -130,7 +130,7 @@ public final class IOConverter {
@Converter
public static Reader toReader(InputStream in, Exchange exchange) throws IOException {
- return IOHelper.buffered(new InputStreamReader(in, IOHelper.getCharsetName(exchange)));
+ return IOHelper.buffered(new InputStreamReader(in, ExchangeHelper.getCharsetName(exchange)));
}
@Converter
@@ -140,7 +140,7 @@ public final class IOConverter {
@Converter
public static Writer toWriter(OutputStream out, Exchange exchange) throws IOException {
- return IOHelper.buffered(new OutputStreamWriter(out, IOHelper.getCharsetName(exchange)));
+ return IOHelper.buffered(new OutputStreamWriter(out, ExchangeHelper.getCharsetName(exchange)));
}
@Converter
@@ -152,7 +152,7 @@ public final class IOConverter {
@Converter
public static InputStream toInputStream(String text, Exchange exchange) throws IOException {
- return toInputStream(text.getBytes(IOHelper.getCharsetName(exchange)));
+ return toInputStream(text.getBytes(ExchangeHelper.getCharsetName(exchange)));
}
@Converter
@@ -172,7 +172,7 @@ public final class IOConverter {
@Converter
public static String toString(byte[] data, Exchange exchange) throws IOException {
- return new String(data, IOHelper.getCharsetName(exchange));
+ return new String(data, ExchangeHelper.getCharsetName(exchange));
}
@Converter
@@ -235,7 +235,7 @@ public final class IOConverter {
@Converter
public static byte[] toByteArray(String value, Exchange exchange) throws IOException {
- return value.getBytes(IOHelper.getCharsetName(exchange));
+ return value.getBytes(ExchangeHelper.getCharsetName(exchange));
}
@Converter
@@ -309,7 +309,7 @@ public final class IOConverter {
@Converter
public static String toString(ByteArrayOutputStream os, Exchange exchange) throws IOException {
- return os.toString(IOHelper.getCharsetName(exchange));
+ return os.toString(ExchangeHelper.getCharsetName(exchange));
}
@Converter
diff --git a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
index f977417..75f0131 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverter.java
@@ -17,12 +17,11 @@
package org.apache.camel.converter;
import java.math.BigInteger;
-import java.util.Collection;
import java.util.Iterator;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.ObjectHelper;
/**
* Some core java.lang based <a
@@ -55,7 +54,7 @@ public final class ObjectConverter {
*/
@Converter
public static Boolean toBoolean(Object value) {
- return ObjectHelper.toBoolean(value);
+ return org.apache.camel.util.ObjectHelper.toBoolean(value);
}
/**
@@ -127,7 +126,7 @@ public final class ObjectConverter {
if (exchange != null) {
return exchange.getContext().getClassResolver().resolveClass((String) value);
} else {
- return ObjectHelper.loadClass((String) value);
+ return org.apache.camel.util.ObjectHelper.loadClass((String) value);
}
} else {
return null;
@@ -216,7 +215,7 @@ public final class ObjectConverter {
if (value instanceof Float) {
return (Float) value;
} else if (value instanceof Number) {
- if (ObjectHelper.isNaN(value)) {
+ if (org.apache.camel.util.ObjectHelper.isNaN(value)) {
return Float.NaN;
}
Number number = (Number) value;
@@ -236,7 +235,7 @@ public final class ObjectConverter {
if (value instanceof Double) {
return (Double) value;
} else if (value instanceof Number) {
- if (ObjectHelper.isNaN(value)) {
+ if (org.apache.camel.util.ObjectHelper.isNaN(value)) {
return Double.NaN;
}
Number number = (Number) value;
diff --git a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverterOptimised.java b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverterOptimised.java
index dfbb7d5..c6391ed 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/ObjectConverterOptimised.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/ObjectConverterOptimised.java
@@ -19,7 +19,7 @@ package org.apache.camel.converter;
import java.util.Iterator;
import org.apache.camel.Exchange;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.ObjectHelper;
/**
* Optimised {@link ObjectConverter}
diff --git a/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java b/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
index 4111edb..250fc11 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/jaxp/DomConverter.java
@@ -33,8 +33,8 @@ import org.w3c.dom.Text;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
-import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.support.ObjectHelper;
/**
* Converts from some DOM types to Java types
@@ -60,7 +60,7 @@ public final class DomConverter {
if (nodeList instanceof Node) {
Node node = (Node) nodeList;
String s = toString(node, exchange);
- if (ObjectHelper.isNotEmpty(s)) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(s)) {
found = true;
buffer.append(s);
}
@@ -70,7 +70,7 @@ public final class DomConverter {
for (int i = 0; i < size; i++) {
Node node = nodeList.item(i);
String s = toString(node, exchange);
- if (ObjectHelper.isNotEmpty(s)) {
+ if (org.apache.camel.util.ObjectHelper.isNotEmpty(s)) {
found = true;
buffer.append(s);
}
@@ -125,7 +125,7 @@ public final class DomConverter {
@Converter
public static List<?> toList(NodeList nodeList) {
List<Object> answer = new ArrayList<>();
- Iterator<Object> it = ObjectHelper.createIterator(nodeList);
+ Iterator<?> it = ObjectHelper.createIterator(nodeList);
while (it.hasNext()) {
answer.add(it.next());
}
@@ -140,7 +140,7 @@ public final class DomConverter {
@Converter
public byte[] toByteArray(NodeList nodeList, Exchange exchange) throws TransformerException, UnsupportedEncodingException {
String data = toString(nodeList, exchange);
- return data.getBytes(IOHelper.getCharsetName(exchange));
+ return data.getBytes(ExchangeHelper.getCharsetName(exchange));
}
private static void append(StringBuilder buffer, NodeList nodeList) {
diff --git a/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java b/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
index 67fb470..03087fa 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/jaxp/StaxConverter.java
@@ -42,6 +42,7 @@ import javax.xml.transform.Source;
import org.apache.camel.Converter;
import org.apache.camel.Exchange;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.util.IOHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -97,7 +98,7 @@ public class StaxConverter {
public XMLEventWriter createXMLEventWriter(OutputStream out, Exchange exchange) throws XMLStreamException {
XMLOutputFactory factory = getOutputFactory();
try {
- return factory.createXMLEventWriter(IOHelper.buffered(out), IOHelper.getCharsetName(exchange));
+ return factory.createXMLEventWriter(IOHelper.buffered(out), ExchangeHelper.getCharsetName(exchange));
} finally {
returnXMLOutputFactory(factory);
}
@@ -127,7 +128,7 @@ public class StaxConverter {
public XMLStreamWriter createXMLStreamWriter(OutputStream outputStream, Exchange exchange) throws XMLStreamException {
XMLOutputFactory factory = getOutputFactory();
try {
- return factory.createXMLStreamWriter(IOHelper.buffered(outputStream), IOHelper.getCharsetName(exchange));
+ return factory.createXMLStreamWriter(IOHelper.buffered(outputStream), ExchangeHelper.getCharsetName(exchange));
} finally {
returnXMLOutputFactory(factory);
}
@@ -157,7 +158,7 @@ public class StaxConverter {
public XMLStreamReader createXMLStreamReader(InputStream in, Exchange exchange) throws XMLStreamException {
XMLInputFactory factory = getInputFactory();
try {
- String charsetName = IOHelper.getCharsetName(exchange, false);
+ String charsetName = ExchangeHelper.getCharsetName(exchange, false);
if (charsetName == null) {
return factory.createXMLStreamReader(IOHelper.buffered(in));
} else {
@@ -172,7 +173,7 @@ public class StaxConverter {
public XMLStreamReader createXMLStreamReader(File file, Exchange exchange) throws XMLStreamException, FileNotFoundException {
XMLInputFactory factory = getInputFactory();
try {
- return factory.createXMLStreamReader(IOHelper.buffered(new FileInputStream(file)), IOHelper.getCharsetName(exchange));
+ return factory.createXMLStreamReader(IOHelper.buffered(new FileInputStream(file)), ExchangeHelper.getCharsetName(exchange));
} finally {
returnXMLInputFactory(factory);
}
@@ -212,7 +213,7 @@ public class StaxConverter {
public XMLEventReader createXMLEventReader(InputStream in, Exchange exchange) throws XMLStreamException {
XMLInputFactory factory = getInputFactory();
try {
- String charsetName = IOHelper.getCharsetName(exchange, false);
+ String charsetName = ExchangeHelper.getCharsetName(exchange, false);
if (charsetName == null) {
return factory.createXMLEventReader(IOHelper.buffered(in));
} else {
@@ -227,7 +228,7 @@ public class StaxConverter {
public XMLEventReader createXMLEventReader(File file, Exchange exchange) throws XMLStreamException, FileNotFoundException {
XMLInputFactory factory = getInputFactory();
try {
- return factory.createXMLEventReader(IOHelper.buffered(new FileInputStream(file)), IOHelper.getCharsetName(exchange));
+ return factory.createXMLEventReader(IOHelper.buffered(new FileInputStream(file)), ExchangeHelper.getCharsetName(exchange));
} finally {
returnXMLInputFactory(factory);
}
@@ -267,7 +268,7 @@ public class StaxConverter {
public InputStream createInputStream(XMLStreamReader reader, Exchange exchange) {
XMLOutputFactory factory = getOutputFactory();
try {
- String charsetName = IOHelper.getCharsetName(exchange, false);
+ String charsetName = ExchangeHelper.getCharsetName(exchange, false);
return new XMLStreamReaderInputStream(reader, charsetName, factory);
} finally {
returnXMLOutputFactory(factory);
diff --git a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java b/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
index 46c0195..1739dcf 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/jaxp/XmlConverter.java
@@ -70,6 +70,7 @@ import org.apache.camel.Converter;
import org.apache.camel.Exchange;
import org.apache.camel.StringSource;
import org.apache.camel.converter.IOConverter;
+import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
@@ -204,7 +205,7 @@ public class XmlConverter {
StringWriter buffer = new StringWriter();
if (exchange != null) {
// check the camelContext properties first
- Properties properties = ObjectHelper.getCamelPropertiesWithPrefix(OUTPUT_PROPERTIES_PREFIX, exchange.getContext());
+ Properties properties = CamelContextHelper.getCamelPropertiesWithPrefix(OUTPUT_PROPERTIES_PREFIX, exchange.getContext());
if (properties.size() > 0) {
toResult(source, new StreamResult(buffer), properties);
return buffer.toString();
@@ -227,7 +228,7 @@ public class XmlConverter {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
if (exchange != null) {
// check the camelContext properties first
- Properties properties = ObjectHelper.getCamelPropertiesWithPrefix(OUTPUT_PROPERTIES_PREFIX,
+ Properties properties = CamelContextHelper.getCamelPropertiesWithPrefix(OUTPUT_PROPERTIES_PREFIX,
exchange.getContext());
if (properties.size() > 0) {
toResult(source, new StreamResult(buffer), properties);
diff --git a/camel-core/src/main/java/org/apache/camel/converter/stream/OutputStreamBuilder.java b/camel-core/src/main/java/org/apache/camel/converter/stream/OutputStreamBuilder.java
index d25780b..911178d 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/stream/OutputStreamBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/stream/OutputStreamBuilder.java
@@ -21,7 +21,7 @@ import java.io.IOException;
import java.io.OutputStream;
import org.apache.camel.Exchange;
-import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.support.ExchangeHelper;
/**
* Utility to hide the complexity of choosing which OutputStream
diff --git a/camel-core/src/main/java/org/apache/camel/impl/AbstractDynamicRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/AbstractDynamicRegistry.java
new file mode 100644
index 0000000..78c2c24
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/impl/AbstractDynamicRegistry.java
@@ -0,0 +1,199 @@
+/**
+ * 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.impl;
+
+import java.util.AbstractMap;
+import java.util.AbstractSet;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.StaticService;
+import org.apache.camel.support.LRUCache;
+import org.apache.camel.support.LRUCacheFactory;
+import org.apache.camel.support.ServiceHelper;
+
+/**
+ * Base implementation for {@link org.apache.camel.spi.TransformerRegistry}, {@link org.apache.camel.spi.ValidatorRegistry}
+ * and {@link org.apache.camel.spi.EndpointRegistry}.
+ */
+public class AbstractDynamicRegistry<K, V> extends AbstractMap<K, V> implements StaticService {
+
+ private static final long serialVersionUID = 1L;
+ protected final CamelContext context;
+ protected final int maxCacheSize;
+ protected final Map<K, V> dynamicMap;
+ protected final Map<K, V> staticMap;
+
+ public AbstractDynamicRegistry(CamelContext context, int maxCacheSize) {
+ this.context = context;
+ this.maxCacheSize = maxCacheSize;
+ // do not stop on eviction, as the transformer may still be in use
+ this.dynamicMap = LRUCacheFactory.newLRUCache(this.maxCacheSize, this.maxCacheSize, false);
+ // static map to hold transformers we do not want to be evicted
+ this.staticMap = new ConcurrentHashMap<>();
+ }
+
+ @Override
+ public void start() throws Exception {
+ if (dynamicMap instanceof LRUCache) {
+ ((LRUCache) dynamicMap).resetStatistics();
+ }
+ }
+
+ @Override
+ public V get(Object o) {
+ // try static map first
+ V answer = staticMap.get(o);
+ if (answer == null) {
+ answer = dynamicMap.get(o);
+ if (answer != null && (context.isSetupRoutes() || context.getRouteController().isStartingRoutes())) {
+ dynamicMap.remove(o);
+ staticMap.put((K) o, answer);
+ }
+ }
+ return answer;
+ }
+
+ @Override
+ public V put(K key, V transformer) {
+ // at first we must see if the key already exists and then replace it back, so it stays the same spot
+ V answer = staticMap.remove(key);
+ if (answer != null) {
+ // replace existing
+ staticMap.put(key, transformer);
+ return answer;
+ }
+
+ answer = dynamicMap.remove(key);
+ if (answer != null) {
+ // replace existing
+ dynamicMap.put(key, transformer);
+ return answer;
+ }
+
+ // we want transformers to be static if they are part of setting up or starting routes
+ if (context.isSetupRoutes() || context.getRouteController().isStartingRoutes()) {
+ answer = staticMap.put(key, transformer);
+ } else {
+ answer = dynamicMap.put(key, transformer);
+ }
+
+ return answer;
+ }
+
+ @Override
+ public boolean containsKey(Object o) {
+ return staticMap.containsKey(o) || dynamicMap.containsKey(o);
+ }
+
+ @Override
+ public boolean containsValue(Object o) {
+ return staticMap.containsValue(o) || dynamicMap.containsValue(o);
+ }
+
+ @Override
+ public int size() {
+ return staticMap.size() + dynamicMap.size();
+ }
+
+ public int staticSize() {
+ return staticMap.size();
+ }
+
+ public int dynamicSize() {
+ return dynamicMap.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return staticMap.isEmpty() && dynamicMap.isEmpty();
+ }
+
+ @Override
+ public V remove(Object o) {
+ V answer = staticMap.remove(o);
+ if (answer == null) {
+ answer = dynamicMap.remove(o);
+ }
+ return answer;
+ }
+
+ @Override
+ public void clear() {
+ staticMap.clear();
+ dynamicMap.clear();
+ }
+
+ @Override
+ public Set<Entry<K, V>> entrySet() {
+ return new AbstractSet<Entry<K, V>>() {
+ @Override
+ public Iterator<Entry<K, V>> iterator() {
+ return new CompoundIterator<>(Arrays.asList(
+ staticMap.entrySet().iterator(), dynamicMap.entrySet().iterator()
+ ));
+ }
+
+ @Override
+ public int size() {
+ return staticMap.size() + dynamicMap.size();
+ }
+ };
+ }
+
+ public int getMaximumCacheSize() {
+ return maxCacheSize;
+ }
+
+ /**
+ * Purges the cache
+ */
+ public void purge() {
+ // only purge the dynamic part
+ dynamicMap.clear();
+ }
+
+ public void cleanUp() {
+ if (dynamicMap instanceof LRUCache) {
+ ((LRUCache) dynamicMap).cleanUp();
+ }
+ }
+
+ public boolean isStatic(K key) {
+ return staticMap.containsKey(key);
+ }
+
+ public boolean isDynamic(K key) {
+ return dynamicMap.containsKey(key);
+ }
+
+ @Override
+ public void stop() throws Exception {
+ ServiceHelper.stopService(staticMap.values(), dynamicMap.values());
+ purge();
+ }
+
+ @Override
+ public String toString() {
+ return "Registry for " + context.getName() + ", capacity: " + maxCacheSize;
+ }
+
+}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/BaseSelectorProducer.java b/camel-core/src/main/java/org/apache/camel/impl/BaseSelectorProducer.java
index 34a41f8..80df07c 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/BaseSelectorProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/BaseSelectorProducer.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.support.DefaultProducer;
/**
* A base class for selector-based producers.
diff --git a/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java b/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java
deleted file mode 100644
index b77ecc7..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * 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.impl;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.UnitOfWork;
-import org.apache.camel.support.LoggingExceptionHandler;
-import org.apache.camel.util.UnitOfWorkHelper;
-
-/**
- * An {@link ExceptionHandler} that uses the {@link DefaultConsumer} to
- * process the caused exception to send the message into the Camel routing engine
- * which allows to let the routing engine handle the exception.
- * <p/>
- * An endpoint can be configured with <tt>consumer.bridgeErrorHandler=true</tt> in the URI
- * to enable this {@link BridgeExceptionHandlerToErrorHandler} on the consumer.
- * The consumer must extend the {@link DefaultConsumer}, to support this, if not an
- * {@link IllegalArgumentException} is thrown upon startup.
- * <p/>
- * <b>Notice:</b> When using this bridging error handler, then interceptors, onCompletions
- * does <b>not</b> apply. The {@link Exchange} is processed directly by the Camel
- * error handler, and does not allow prior actions such as interceptors, onCompletion
- * to take action.
- */
-public class BridgeExceptionHandlerToErrorHandler implements ExceptionHandler {
-
- private final LoggingExceptionHandler fallback;
- private final DefaultConsumer consumer;
- private final Processor bridge;
-
- public BridgeExceptionHandlerToErrorHandler(DefaultConsumer consumer) {
- this.consumer = consumer;
- this.fallback = new LoggingExceptionHandler(consumer.getEndpoint().getCamelContext(), consumer.getClass());
- this.bridge = consumer.getProcessor();
- }
-
- @Override
- public void handleException(Throwable exception) {
- handleException(null, exception);
- }
-
- @Override
- public void handleException(String message, Throwable exception) {
- handleException(message, null, exception);
- }
-
- @Override
- public void handleException(String message, Exchange exchange, Throwable exception) {
- if (exchange == null) {
- exchange = consumer.getEndpoint().createExchange();
- }
-
- // set the caused exception
- exchange.setException(exception);
- // and the message
- exchange.getIn().setBody(message);
- // and mark as redelivery exhausted as we cannot do redeliveries
- exchange.setProperty(Exchange.REDELIVERY_EXHAUSTED, Boolean.TRUE);
-
- // wrap in UoW
- UnitOfWork uow = null;
- try {
- uow = consumer.createUoW(exchange);
- bridge.process(exchange);
- } catch (Exception e) {
- fallback.handleException("Error handling exception " + exception.getMessage(), exchange, e);
- } finally {
- UnitOfWorkHelper.doneUow(uow, exchange);
- }
- }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java b/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java
index b7298f7..de13873 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java
@@ -35,15 +35,16 @@ import org.apache.camel.PollingConsumer;
import org.apache.camel.Producer;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.ProxyInstantiationException;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Service;
import org.apache.camel.builder.DefaultFluentProducerTemplate;
import org.apache.camel.component.bean.ProxyHelper;
import org.apache.camel.processor.DeferServiceFactory;
import org.apache.camel.processor.UnitOfWorkProducer;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.IntrospectionSupport;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -125,7 +126,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
LOG.debug("Subscribed method: {} to consume from endpoint: {}", method, endpoint);
}
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
}
@@ -282,10 +283,10 @@ public class CamelPostProcessorHelper implements CamelContextAware {
try {
return getCamelContext().getTypeConverter().mandatoryConvertTo(type, propertyDefaultValue);
} catch (Exception e2) {
- throw ObjectHelper.wrapRuntimeCamelException(e2);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e2);
}
}
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -320,7 +321,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
// no need to defer the template as it can adjust to the endpoint at runtime
startService(answer, context, bean, null);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return answer;
}
@@ -342,7 +343,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
// no need to defer the template as it can adjust to the endpoint at runtime
startService(answer, context, bean, null);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return answer;
}
@@ -358,7 +359,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
try {
startService(answer, null, null, null);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return answer;
}
@@ -373,7 +374,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
startService(consumer, endpoint.getCamelContext(), bean, beanName);
return consumer;
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -386,7 +387,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
Producer producer = DeferServiceFactory.createProducer(endpoint);
return new UnitOfWorkProducer(producer);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/CompoundIterator.java b/camel-core/src/main/java/org/apache/camel/impl/CompoundIterator.java
new file mode 100644
index 0000000..f4c0554
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/impl/CompoundIterator.java
@@ -0,0 +1,64 @@
+/**
+ * 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.impl;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * Compound iterator to iterate over multiple iterators sequentially.
+ */
+public class CompoundIterator<T> implements Iterator<T> {
+
+ final Iterator<Iterator<T>> it;
+ Iterator<T> current;
+
+ public CompoundIterator(Iterable<Iterator<T>> it) {
+ this(it.iterator());
+ }
+
+ public CompoundIterator(Iterator<Iterator<T>> it) {
+ this.it = it;
+ this.current = it.hasNext() ? it.next() : null;
+ }
+
+ @Override
+ public boolean hasNext() {
+ while (current != null) {
+ if (current.hasNext()) {
+ return true;
+ } else {
+ current = it.hasNext() ? it.next() : null;
+ }
+
+ }
+ return false;
+ }
+
+ @Override
+ public T next() {
+ if (current != null) {
+ return current.next();
+ }
+ throw new NoSuchElementException();
+ }
+
+ @Override
+ public void remove() {
+ current.remove();
+ }
+}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/ConsumerCache.java b/camel-core/src/main/java/org/apache/camel/impl/ConsumerCache.java
index 798f126..f25f002 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/ConsumerCache.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/ConsumerCache.java
@@ -22,11 +22,9 @@ import org.apache.camel.Exchange;
import org.apache.camel.FailedToCreateConsumerException;
import org.apache.camel.PollingConsumer;
import org.apache.camel.spi.EndpointUtilizationStatistics;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.ServiceHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Cache containing created {@link org.apache.camel.Consumer}.
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManager.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManager.java
index d2aa223..d78e852 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManager.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProcessorAwaitManager.java
@@ -28,14 +28,12 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.camel.Exchange;
import org.apache.camel.MessageHistory;
import org.apache.camel.NamedNode;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.processor.DefaultExchangeFormatter;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.ExchangeFormatter;
+import org.apache.camel.support.MessageHelper;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.MessageHelper;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements AsyncProcessorAwaitManager {
@@ -153,7 +151,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
log.warn(sb.toString());
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
} finally {
if (statistics.isStatisticsEnabled()) {
interruptedCounter.incrementAndGet();
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProducer.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProducer.java
deleted file mode 100644
index b0ec87e..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultAsyncProducer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * 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.impl;
-
-import org.apache.camel.AsyncProcessor;
-import org.apache.camel.AsyncProducer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.util.AsyncProcessorHelper;
-
-/**
- * A default implementation of {@link org.apache.camel.Producer} for implementation inheritance,
- * which can process {@link Exchange}s asynchronously.
- */
-public abstract class DefaultAsyncProducer extends DefaultProducer implements AsyncProducer {
-
- public DefaultAsyncProducer(Endpoint endpoint) {
- super(endpoint);
- }
-
- public void process(Exchange exchange) throws Exception {
- AsyncProcessorHelper.process(this, exchange);
- }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultAttachment.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultAttachment.java
deleted file mode 100644
index f1efa75..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultAttachment.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * 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.impl;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-
-import org.apache.camel.Attachment;
-import org.apache.camel.util.CollectionHelper;
-
-public class DefaultAttachment implements Attachment {
- private Map<String, Object> headers;
- private DataHandler dataHandler;
-
- public DefaultAttachment(DataHandler dh) {
- dataHandler = dh;
- }
-
- public DefaultAttachment(DataSource ds) {
- dataHandler = new DataHandler(ds);
- }
-
- @Override
- public DataHandler getDataHandler() {
- return dataHandler;
- }
-
- @Override
- public String getHeader(String name) {
- if (headers != null) {
- Object headerObject = headers.get(name);
- if (headerObject instanceof String) {
- return (String)headerObject;
- } else if (headerObject instanceof Collection<?>) {
- return CollectionHelper.collectionAsCommaDelimitedString((Collection<?>)headerObject);
- }
- }
- return null;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getHeaderAsList(String name) {
- if (headers != null) {
- Object headerObject = headers.get(name);
- if (headerObject instanceof List<?>) {
- return (List<String>)headerObject;
- } else if (headerObject instanceof String) {
- return Collections.singletonList((String)headerObject);
- }
- }
- return null;
- }
-
- @Override
- public void addHeader(String headerName, String headerValue) {
- if (headers == null) {
- headers = createHeaders();
- }
- CollectionHelper.appendValue(headers, headerName, headerValue);
- }
-
- @Override
- public void setHeader(String headerName, String headerValue) {
- if (headers == null) {
- headers = createHeaders();
- }
- headers.put(headerName, headerValue);
- }
-
- @Override
- public void removeHeader(String headerName) {
- if (headers != null) {
- headers.remove(headerName);
- }
- }
-
- @Override
- public Collection<String> getHeaderNames() {
- if (headers == null) {
- headers = createHeaders();
- }
- return headers.keySet();
- }
-
- public void clearHeaders() {
- headers = null;
- }
-
- private Map<String, Object> createHeaders() {
- return new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
- }
-
- public boolean equals(Object other) {
- if (other instanceof Attachment) {
- DataHandler otherDh = ((Attachment)other).getDataHandler();
- return dataHandler.equals(otherDh);
- }
- return false;
- }
-
- public int hashCode() {
- return dataHandler.hashCode();
- }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java
index 63cf335..8b77e86 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelBeanPostProcessor.java
@@ -26,7 +26,8 @@ import org.apache.camel.DeferredContextBinding;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.PropertyInject;
-import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.support.DefaultEndpoint;
+import org.apache.camel.support.ObjectHelper;
import org.apache.camel.util.ReflectionHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -252,7 +253,7 @@ public class DefaultCamelBeanPostProcessor {
if (parameterTypes.length != 1) {
LOG.warn("Ignoring badly annotated method for injection due to incorrect number of parameters: {}", method);
} else {
- String propertyName = ObjectHelper.getPropertyName(method);
+ String propertyName = org.apache.camel.util.ObjectHelper.getPropertyName(method);
Object value = getPostProcessorHelper().getInjectionValue(parameterTypes[0], endpointUri, endpointRef, endpointProperty,
propertyName, bean, beanName);
ObjectHelper.invokeMethod(method, bean, value);
@@ -267,7 +268,7 @@ public class DefaultCamelBeanPostProcessor {
if (parameterTypes.length != 1) {
LOG.warn("Ignoring badly annotated method for injection due to incorrect number of parameters: {}", method);
} else {
- String propertyName = ObjectHelper.getPropertyName(method);
+ String propertyName = org.apache.camel.util.ObjectHelper.getPropertyName(method);
Object value = getPostProcessorHelper().getInjectionPropertyValue(parameterTypes[0], propertyValue, propertyDefaultValue, propertyName, bean, beanName);
ObjectHelper.invokeMethod(method, bean, value);
}
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 707d5fd..3662b62 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
@@ -60,6 +60,7 @@ import org.apache.camel.ExtendedStartupListener;
import org.apache.camel.FailedToStartRouteException;
import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.IsSingleton;
+import org.apache.camel.LoadPropertiesException;
import org.apache.camel.MultipleConsumersSupport;
import org.apache.camel.NamedNode;
import org.apache.camel.NoFactoryAvailableException;
@@ -172,25 +173,25 @@ import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.EndpointHelper;
+import org.apache.camel.support.EventHelper;
+import org.apache.camel.support.IntrospectionSupport;
+import org.apache.camel.support.OrderedComparator;
+import org.apache.camel.support.ProcessorEndpoint;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelContextHelper;
+import org.apache.camel.support.jsse.SSLContextParameters;
import org.apache.camel.util.CollectionStringBuffer;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.EventHelper;
import org.apache.camel.util.IOHelper;
-import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.util.JsonSchemaHelper;
-import org.apache.camel.util.LoadPropertiesException;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.OrderedComparator;
-import org.apache.camel.util.ServiceHelper;
import org.apache.camel.util.StopWatch;
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.MDC;
import static org.apache.camel.impl.MDCUnitOfWork.MDC_CAMEL_CONTEXT_ID;
@@ -929,7 +930,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
ObjectName on = getManagementStrategy().getManagementNamingStrategy().getObjectNameForProcessor(this, processor, def);
return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
} catch (MalformedObjectNameException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -949,7 +950,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
ObjectName on = getManagementStrategy().getManagementNamingStrategy().getObjectNameForRoute(route);
return getManagementStrategy().getManagementAgent().newProxyClient(on, type);
} catch (MalformedObjectNameException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -966,7 +967,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
ObjectName on = getManagementStrategy().getManagementNamingStrategy().getObjectNameForCamelContext(this);
return getManagementStrategy().getManagementAgent().newProxyClient(on, ManagedCamelContextMBean.class);
} catch (MalformedObjectNameException e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -2385,7 +2386,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
try {
startService((Service) answer);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -2455,7 +2456,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// must add service eager and force start it
addService(typeConverter, true, true);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
}
@@ -2468,7 +2469,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// must add service eager and force start it
addService(typeConverter, true, true);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
@@ -2823,7 +2824,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
try {
startService(answer);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return answer;
}
@@ -2839,7 +2840,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
try {
startService(answer);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return answer;
}
@@ -2855,7 +2856,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
try {
startService(answer);
} catch (Exception e) {
- throw ObjectHelper.wrapRuntimeCamelException(e);
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
return answer;
}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
deleted file mode 100644
index af4c1f6..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/**
- * 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.impl;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.function.Supplier;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
-import org.apache.camel.Endpoint;
-import org.apache.camel.ResolveEndpointFailedException;
-import org.apache.camel.component.extension.ComponentExtension;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.apache.camel.util.UnsafeUriCharactersEncoder;
-import org.apache.camel.util.function.Suppliers;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * Default component to use for base for components implementations.
- */
-public abstract class DefaultComponent extends ServiceSupport implements Component {
-
- private static final Pattern RAW_PATTERN = Pattern.compile("RAW(.*&&.*)");
-
- private final List<Supplier<ComponentExtension>> extensions = new ArrayList<>();
-
- private CamelContext camelContext;
-
- @Metadata(label = "advanced", defaultValue = "true",
- description = "Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.")
- private boolean resolvePropertyPlaceholders = true;
-
- public DefaultComponent() {
- }
-
- public DefaultComponent(CamelContext context) {
- this.camelContext = context;
- }
-
- @Deprecated
- protected String preProcessUri(String uri) {
- return UnsafeUriCharactersEncoder.encode(uri);
- }
-
- public Endpoint createEndpoint(String uri) throws Exception {
- ObjectHelper.notNull(getCamelContext(), "camelContext");
- // check URI string to the unsafe URI characters
- String encodedUri = preProcessUri(uri);
- URI u = new URI(encodedUri);
- String path;
- if (u.getScheme() != null) {
- // if there is a scheme then there is also a path
- path = URISupport.extractRemainderPath(u, useRawUri());
- } else {
- // this uri has no context-path as the leading text is the component name (scheme)
- path = null;
- }
-
- Map<String, Object> parameters;
- if (useRawUri()) {
- // when using raw uri then the query is taking from the uri as is
- String query;
- int idx = uri.indexOf('?');
- if (idx > -1) {
- query = uri.substring(idx + 1);
- } else {
- query = u.getRawQuery();
- }
- // and use method parseQuery
- parameters = URISupport.parseQuery(query, true);
- } else {
- // however when using the encoded (default mode) uri then the query,
- // is taken from the URI (ensures values is URI encoded)
- // and use method parseParameters
- parameters = URISupport.parseParameters(u);
- }
- // parameters using raw syntax: RAW(value)
- // should have the token removed, so its only the value we have in parameters, as we are about to create
- // an endpoint and want to have the parameter values without the RAW tokens
- URISupport.resolveRawParameterValues(parameters);
-
- // use encoded or raw uri?
- uri = useRawUri() ? uri : encodedUri;
-
- validateURI(uri, path, parameters);
- if (log.isTraceEnabled()) {
- // at trace level its okay to have parameters logged, that may contain passwords
- log.trace("Creating endpoint uri=[{}], path=[{}], parameters=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path), parameters);
- } else if (log.isDebugEnabled()) {
- // but at debug level only output sanitized uris
- log.debug("Creating endpoint uri=[{}], path=[{}]", URISupport.sanitizeUri(uri), URISupport.sanitizePath(path));
- }
- Endpoint endpoint = createEndpoint(uri, path, parameters);
- if (endpoint == null) {
- return null;
- }
-
- endpoint.configureProperties(parameters);
- if (useIntrospectionOnEndpoint()) {
- setProperties(endpoint, parameters);
- }
-
- // if endpoint is strict (not lenient) and we have unknown parameters configured then
- // fail if there are parameters that could not be set, then they are probably misspell or not supported at all
- if (!endpoint.isLenientProperties()) {
- validateParameters(uri, parameters, null);
- }
-
- afterConfiguration(uri, path, endpoint, parameters);
- return endpoint;
- }
-
- @Override
- public boolean useRawUri() {
- // should use encoded uri by default
- return false;
- }
-
- /**
- * Whether the component should resolve property placeholders on itself when starting.
- * Only properties which are of String type can use property placeholders.
- */
- public void setResolvePropertyPlaceholders(boolean resolvePropertyPlaceholders) {
- this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
- }
-
- /**
- * Whether the component should resolve property placeholders on itself when starting.
- * Only properties which are of String type can use property placeholders.
- */
- public boolean isResolvePropertyPlaceholders() {
- return resolvePropertyPlaceholders;
- }
-
- /**
- * Strategy to do post configuration logic.
- * <p/>
- * Can be used to construct an URI based on the remaining parameters. For example the parameters that configures
- * the endpoint have been removed from the parameters which leaves only the additional parameters left.
- *
- * @param uri the uri
- * @param remaining the remaining part of the URI without the query parameters or component prefix
- * @param endpoint the created endpoint
- * @param parameters the remaining parameters after the endpoint has been created and parsed the parameters
- * @throws Exception can be thrown to indicate error creating the endpoint
- */
- protected void afterConfiguration(String uri, String remaining, Endpoint endpoint, Map<String, Object> parameters) throws Exception {
- // noop
- }
-
- /**
- * Strategy for validation of parameters, that was not able to be resolved to any endpoint options.
- *
- * @param uri the uri
- * @param parameters the parameters, an empty map if no parameters given
- * @param optionPrefix optional prefix to filter the parameters for validation. Use <tt>null</tt> for validate all.
- * @throws ResolveEndpointFailedException should be thrown if the URI validation failed
- */
- protected void validateParameters(String uri, Map<String, Object> parameters, String optionPrefix) {
- if (parameters == null || parameters.isEmpty()) {
- return;
- }
-
- Map<String, Object> param = parameters;
- if (optionPrefix != null) {
- param = IntrospectionSupport.extractProperties(parameters, optionPrefix);
- }
-
- if (param.size() > 0) {
- throw new ResolveEndpointFailedException(uri, "There are " + param.size()
- + " parameters that couldn't be set on the endpoint."
- + " Check the uri if the parameters are spelt correctly and that they are properties of the endpoint."
- + " Unknown parameters=[" + param + "]");
- }
- }
-
- /**
- * Strategy for validation of the uri when creating the endpoint.
- *
- * @param uri the uri
- * @param path the path - part after the scheme
- * @param parameters the parameters, an empty map if no parameters given
- * @throws ResolveEndpointFailedException should be thrown if the URI validation failed
- */
- protected void validateURI(String uri, String path, Map<String, Object> parameters) {
- // check for uri containing double && markers without include by RAW
- if (uri.contains("&&")) {
- Matcher m = RAW_PATTERN.matcher(uri);
- // we should skip the RAW part
- if (!m.find()) {
- throw new ResolveEndpointFailedException(uri, "Invalid uri syntax: Double && marker found. "
- + "Check the uri and remove the duplicate & marker.");
- }
- }
-
- // if we have a trailing & then that is invalid as well
- if (uri.endsWith("&")) {
- throw new ResolveEndpointFailedException(uri, "Invalid uri syntax: Trailing & marker found. "
- + "Check the uri and remove the trailing & marker.");
- }
- }
-
- public CamelContext getCamelContext() {
- return camelContext;
- }
-
- public void setCamelContext(CamelContext context) {
- this.camelContext = context;
- }
-
- protected void doStart() throws Exception {
- ObjectHelper.notNull(getCamelContext(), "camelContext");
-
- if (isResolvePropertyPlaceholders()) {
- // only resolve property placeholders if its in use
- Component existing = CamelContextHelper.lookupPropertiesComponent(camelContext, false);
- if (existing != null) {
- log.debug("Resolving property placeholders on component: {}", this);
- CamelContextHelper.resolvePropertyPlaceholders(camelContext, this);
- } else {
- log.debug("Cannot resolve property placeholders on component: {} as PropertiesComponent is not in use", this);
- }
- }
- }
-
- protected void doStop() throws Exception {
- // noop
- }
-
- /**
- * A factory method allowing derived components to create a new endpoint
- * from the given URI, remaining path and optional parameters
- *
- * @param uri the full URI of the endpoint
- * @param remaining the remaining part of the URI without the query
- * parameters or component prefix
- * @param parameters the optional parameters passed in
- * @return a newly created endpoint or null if the endpoint cannot be
- * created based on the inputs
- * @throws Exception is thrown if error creating the endpoint
- */
- protected abstract Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters)
- throws Exception;
-
- /**
- * Sets the bean properties on the given bean
- *
- * @param bean the bean
- * @param parameters properties to set
- */
- protected void setProperties(Object bean, Map<String, Object> parameters) throws Exception {
- setProperties(getCamelContext(), bean, parameters);
- }
-
- /**
- * Sets the bean properties on the given bean using the given {@link CamelContext}
- * @param camelContext the {@link CamelContext} to use
- * @param bean the bean
- * @param parameters properties to set
- */
- protected void setProperties(CamelContext camelContext, Object bean, Map<String, Object> parameters) throws Exception {
- // set reference properties first as they use # syntax that fools the regular properties setter
- EndpointHelper.setReferenceProperties(camelContext, bean, parameters);
- EndpointHelper.setProperties(camelContext, bean, parameters);
- }
-
- /**
- * Derived classes may wish to overload this to prevent the default introspection of URI parameters
- * on the created Endpoint instance
- */
- protected boolean useIntrospectionOnEndpoint() {
- return true;
- }
-
- /**
- * Gets the parameter and remove it from the parameter map. This method doesn't resolve
- * reference parameters in the registry.
- *
- * @param parameters the parameters
- * @param key the key
- * @param type the requested type to convert the value from the parameter
- * @return the converted value parameter, <tt>null</tt> if parameter does not exists.
- * @see #resolveAndRemoveReferenceParameter(Map, String, Class)
- */
- public <T> T getAndRemoveParameter(Map<String, Object> parameters, String key, Class<T> type) {
- return getAndRemoveParameter(parameters, key, type, null);
- }
-
- /**
- * Gets the parameter and remove it from the parameter map. This method doesn't resolve
- * reference parameters in the registry.
- *
- * @param parameters the parameters
- * @param key the key
- * @param type the requested type to convert the value from the parameter
- * @param defaultValue use this default value if the parameter does not contain the key
- * @return the converted value parameter
- * @see #resolveAndRemoveReferenceParameter(Map, String, Class, Object)
- */
- public <T> T getAndRemoveParameter(Map<String, Object> parameters, String key, Class<T> type, T defaultValue) {
- Object value = parameters.remove(key);
- if (value != null) {
- // if we have a value then convert it
- return CamelContextHelper.mandatoryConvertTo(getCamelContext(), type, value);
- } else {
- value = defaultValue;
- }
- if (value == null) {
- return null;
- }
-
- return CamelContextHelper.mandatoryConvertTo(getCamelContext(), type, value);
- }
-
- /**
- * Gets the parameter and remove it from the parameter map. This method resolves
- * reference parameters in the registry as well.
- *
- * @param parameters the parameters
- * @param key the key
- * @param type the requested type to convert the value from the parameter
- * @return the converted value parameter
- */
- public <T> T getAndRemoveOrResolveReferenceParameter(Map<String, Object> parameters, String key, Class<T> type) {
- return getAndRemoveOrResolveReferenceParameter(parameters, key, type, null);
- }
-
- /**
- * Gets the parameter and remove it from the parameter map. This method resolves
- * reference parameters in the registry as well.
- *
- * @param parameters the parameters
- * @param key the key
- * @param type the requested type to convert the value from the parameter
- * @param defaultValue use this default value if the parameter does not contain the key
- * @return the converted value parameter
- */
- public <T> T getAndRemoveOrResolveReferenceParameter(Map<String, Object> parameters, String key, Class<T> type, T defaultValue) {
- String value = getAndRemoveParameter(parameters, key, String.class);
- if (value == null) {
- return defaultValue;
- } else if (EndpointHelper.isReferenceParameter(value)) {
- return EndpointHelper.resolveReferenceParameter(getCamelContext(), value, type);
- } else {
- return getCamelContext().getTypeConverter().convertTo(type, value);
- }
- }
-
- /**
- * Resolves a reference parameter in the registry and removes it from the map.
- *
- * @param <T> type of object to lookup in the registry.
- * @param parameters parameter map.
- * @param key parameter map key.
- * @param type type of object to lookup in the registry.
- * @return the referenced object or <code>null</code> if the parameter map
- * doesn't contain the key.
- * @throws IllegalArgumentException if a non-null reference was not found in
- * registry.
- */
- public <T> T resolveAndRemoveReferenceParameter(Map<String, Object> parameters, String key, Class<T> type) {
- return resolveAndRemoveReferenceParameter(parameters, key, type, null);
- }
-
- /**
- * Resolves a reference parameter in the registry and removes it from the map.
- *
- * @param <T> type of object to lookup in the registry.
- * @param parameters parameter map.
- * @param key parameter map key.
- * @param type type of object to lookup in the registry.
- * @param defaultValue default value to use if the parameter map doesn't
- * contain the key.
- * @return the referenced object or the default value.
- * @throws IllegalArgumentException if referenced object was not found in
- * registry.
- */
- public <T> T resolveAndRemoveReferenceParameter(Map<String, Object> parameters, String key, Class<T> type, T defaultValue) {
- String value = getAndRemoveParameter(parameters, key, String.class);
- if (value == null) {
- return defaultValue;
- } else {
- return EndpointHelper.resolveReferenceParameter(getCamelContext(), value, type);
- }
- }
-
- /**
- * Resolves a reference list parameter in the registry and removes it from
- * the map.
- *
- * @param parameters parameter map.
- * @param key parameter map key.
- * @param elementType result list element type.
- * @return the list of referenced objects or an empty list if the parameter
- * map doesn't contain the key.
- * @throws IllegalArgumentException if any of the referenced objects was
- * not found in registry.
- * @see EndpointHelper#resolveReferenceListParameter(CamelContext, String, Class)
- */
- public <T> List<T> resolveAndRemoveReferenceListParameter(Map<String, Object> parameters, String key, Class<T> elementType) {
- return resolveAndRemoveReferenceListParameter(parameters, key, elementType, new ArrayList<>(0));
- }
-
- /**
- * Resolves a reference list parameter in the registry and removes it from
- * the map.
- *
- * @param parameters parameter map.
- * @param key parameter map key.
- * @param elementType result list element type.
- * @param defaultValue default value to use if the parameter map doesn't
- * contain the key.
- * @return the list of referenced objects or the default value.
- * @throws IllegalArgumentException if any of the referenced objects was
- * not found in registry.
- * @see EndpointHelper#resolveReferenceListParameter(CamelContext, String, Class)
- */
- public <T> List<T> resolveAndRemoveReferenceListParameter(Map<String, Object> parameters, String key, Class<T> elementType, List<T> defaultValue) {
- String value = getAndRemoveParameter(parameters, key, String.class);
-
- if (value == null) {
- return defaultValue;
- } else {
- return EndpointHelper.resolveReferenceListParameter(getCamelContext(), value, elementType);
- }
- }
-
- /**
- * Returns the reminder of the text if it starts with the prefix.
- * <p/>
- * Is useable for string parameters that contains commands.
- *
- * @param prefix the prefix
- * @param text the text
- * @return the reminder, or null if no reminder
- */
- protected String ifStartsWithReturnRemainder(String prefix, String text) {
- if (text.startsWith(prefix)) {
- String remainder = text.substring(prefix.length());
- if (remainder.length() > 0) {
- return remainder;
- }
- }
- return null;
- }
-
- protected void registerExtension(ComponentExtension extension) {
- extensions.add(() -> extension);
- }
-
- protected void registerExtension(Supplier<ComponentExtension> supplier) {
- extensions.add(Suppliers.memorize(supplier));
- }
-
- @Override
- public Collection<Class<? extends ComponentExtension>> getSupportedExtensions() {
- return extensions.stream()
- .map(Supplier::get)
- .map(ComponentExtension::getClass)
- .collect(Collectors.toList());
- }
-
- @Override
- public <T extends ComponentExtension> Optional<T> getExtension(Class<T> extensionType) {
- return extensions.stream()
- .map(Supplier::get)
- .filter(extensionType::isInstance)
- .findFirst()
- .map(extensionType::cast)
- .map(e -> ObjectHelper.trySetComponent(e, this))
- .map(e -> ObjectHelper.trySetCamelContext(e, getCamelContext()));
- }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java
index de21211..e33acfd 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultComponentResolver.java
@@ -23,7 +23,7 @@ import org.apache.camel.Component;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.FactoryFinder;
-import org.apache.camel.util.ResolverHelper;
+import org.apache.camel.support.ResolverHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java
deleted file mode 100644
index fe22f3e..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * 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.impl;
-
-import org.apache.camel.AsyncProcessor;
-import org.apache.camel.Consumer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.Route;
-import org.apache.camel.RouteAware;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.UnitOfWork;
-import org.apache.camel.support.LoggingExceptionHandler;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.AsyncProcessorConverterHelper;
-import org.apache.camel.util.ServiceHelper;
-import org.apache.camel.util.URISupport;
-import org.apache.camel.util.UnitOfWorkHelper;
-
-/**
- * A default consumer useful for implementation inheritance.
- */
-public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAware {
-
- private transient String consumerToString;
- private final Endpoint endpoint;
- private final Processor processor;
- private volatile AsyncProcessor asyncProcessor;
- private ExceptionHandler exceptionHandler;
- private Route route;
-
- public DefaultConsumer(Endpoint endpoint, Processor processor) {
- this.endpoint = endpoint;
- this.processor = processor;
- this.exceptionHandler = new LoggingExceptionHandler(endpoint.getCamelContext(), getClass());
- }
-
- @Override
- public String toString() {
- if (consumerToString == null) {
- consumerToString = "Consumer[" + URISupport.sanitizeUri(endpoint.getEndpointUri()) + "]";
- }
- return consumerToString;
- }
-
- public Route getRoute() {
- return route;
- }
-
- public void setRoute(Route route) {
- this.route = route;
- }
-
- /**
- * If the consumer needs to defer done the {@link org.apache.camel.spi.UnitOfWork} on
- * the processed {@link Exchange} then this method should be use to create and start
- * the {@link UnitOfWork} on the exchange.
- *
- * @param exchange the exchange
- * @return the created and started unit of work
- * @throws Exception is thrown if error starting the unit of work
- *
- * @see #doneUoW(org.apache.camel.Exchange)
- */
- public UnitOfWork createUoW(Exchange exchange) throws Exception {
- // if the exchange doesn't have from route id set, then set it if it originated
- // from this unit of work
- if (route != null && exchange.getFromRouteId() == null) {
- exchange.setFromRouteId(route.getId());
- }
-
- UnitOfWork uow = endpoint.getCamelContext().getUnitOfWorkFactory().createUnitOfWork(exchange);
- exchange.setUnitOfWork(uow);
- uow.start();
- return uow;
- }
-
- /**
- * If the consumer needs to defer done the {@link org.apache.camel.spi.UnitOfWork} on
- * the processed {@link Exchange} then this method should be executed when the consumer
- * is finished processing the message.
- *
- * @param exchange the exchange
- *
- * @see #createUoW(org.apache.camel.Exchange)
- */
- public void doneUoW(Exchange exchange) {
- UnitOfWorkHelper.doneUow(exchange.getUnitOfWork(), exchange);
- }
-
- public Endpoint getEndpoint() {
- return endpoint;
- }
-
- public Processor getProcessor() {
- return processor;
- }
-
- /**
- * Provides an {@link org.apache.camel.AsyncProcessor} interface to the configured
- * processor on the consumer. If the processor does not implement the interface,
- * it will be adapted so that it does.
- */
- public synchronized AsyncProcessor getAsyncProcessor() {
- if (asyncProcessor == null) {
- asyncProcessor = AsyncProcessorConverterHelper.convert(processor);
- }
- return asyncProcessor;
- }
-
- public ExceptionHandler getExceptionHandler() {
- return exceptionHandler;
- }
-
- public void setExceptionHandler(ExceptionHandler exceptionHandler) {
- this.exceptionHandler = exceptionHandler;
- }
-
- protected void doStop() throws Exception {
- log.debug("Stopping consumer: {}", this);
- ServiceHelper.stopService(processor);
- }
-
- protected void doStart() throws Exception {
- log.debug("Starting consumer: {}", this);
- ServiceHelper.startService(processor);
- }
-
- /**
- * Handles the given exception using the {@link #getExceptionHandler()}
- *
- * @param t the exception to handle
- */
- protected void handleException(Throwable t) {
- Throwable newt = (t == null) ? new IllegalArgumentException("Handling [null] exception") : t;
- getExceptionHandler().handleException(newt);
- }
-
- /**
- * Handles the given exception using the {@link #getExceptionHandler()}
- *
- * @param message additional message about the exception
- * @param t the exception to handle
- */
- protected void handleException(String message, Throwable t) {
- Throwable newt = (t == null) ? new IllegalArgumentException("Handling [null] exception") : t;
- getExceptionHandler().handleException(message, newt);
- }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumerTemplate.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumerTemplate.java
index ea861af..ba52514 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumerTemplate.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumerTemplate.java
@@ -23,14 +23,12 @@ import org.apache.camel.ConsumerTemplate;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.spi.Synchronization;
+import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.ServiceHelper;
-import org.apache.camel.util.UnitOfWorkHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.camel.support.UnitOfWorkHelper;
-import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
+import static org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException;
/**
* Template (named like Spring's TransactionTemplate & JmsTemplate
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultDataFormatResolver.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultDataFormatResolver.java
index 0ee6570..51eddae 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultDataFormatResolver.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultDataFormatResolver.java
@@ -22,7 +22,7 @@ import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.DataFormatFactory;
import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.FactoryFinder;
-import org.apache.camel.util.ResolverHelper;
+import org.apache.camel.support.ResolverHelper;
/**
* Default data format resolver
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 99726b0..9306b43 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
@@ -41,8 +41,8 @@ import org.apache.camel.spi.Condition;
import org.apache.camel.spi.Debugger;
import org.apache.camel.spi.EventNotifier;
import org.apache.camel.support.EventNotifierSupport;
+import org.apache.camel.support.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
deleted file mode 100644
index 7206ca8..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/**
- * 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.impl;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.AsyncProducer;
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.Component;
-import org.apache.camel.Consumer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.PollingConsumer;
-import org.apache.camel.ResolveEndpointFailedException;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.HasId;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.AsyncProcessorConverterHelper;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.StringHelper;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A default endpoint useful for implementation inheritance.
- * <p/>
- * Components which leverages <a
- * href="http://camel.apache.org/asynchronous-routing-engine.html">asynchronous
- * processing model</a> should check the {@link #isSynchronous()} to determine
- * if asynchronous processing is allowed. The <tt>synchronous</tt> option on the
- * endpoint allows Camel end users to dictate whether they want the asynchronous
- * model or not. The option is default <tt>false</tt> which means asynchronous
- * processing is allowed.
- */
-public abstract class DefaultEndpoint extends ServiceSupport implements Endpoint, HasId, CamelContextAware {
-
- private final String id = EndpointHelper.createEndpointId();
- private transient String endpointUriToString;
- private String endpointUri;
- private CamelContext camelContext;
- private Component component;
- @UriParam(label = "consumer", optionalPrefix = "consumer.", description = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while"
- + " the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler."
- + " By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.")
- private boolean bridgeErrorHandler;
- @UriParam(label = "consumer,advanced", optionalPrefix = "consumer.", description = "To let the consumer use a custom ExceptionHandler."
- + " Notice if the option bridgeErrorHandler is enabled then this option is not in use."
- + " By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.")
- private ExceptionHandler exceptionHandler;
- @UriParam(label = "consumer,advanced",
- description = "Sets the exchange pattern when the consumer creates an exchange.")
- // no default value set on @UriParam as the MEP is sometimes InOnly or InOut depending on the component in use
- private ExchangePattern exchangePattern = ExchangePattern.InOnly;
- // option to allow end user to dictate whether async processing should be
- // used or not (if possible)
- @UriParam(defaultValue = "false", label = "advanced",
- description = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).")
- private boolean synchronous;
- // these options are not really in use any option related to the consumer has a specific option on the endpoint
- // and consumerProperties was added from the very start of Camel.
- private Map<String, Object> consumerProperties;
- // pooling consumer options only related to EventDrivenPollingConsumer which are very seldom in use
- // so lets not expose them in the component docs as it will be included in every component
- private int pollingConsumerQueueSize = 1000;
- private boolean pollingConsumerBlockWhenFull = true;
- private long pollingConsumerBlockTimeout;
-
- /**
- * Constructs a fully-initialized DefaultEndpoint instance. This is the
- * preferred method of constructing an object from Java code (as opposed to
- * Spring beans, etc.).
- *
- * @param endpointUri the full URI used to create this endpoint
- * @param component the component that created this endpoint
- */
- protected DefaultEndpoint(String endpointUri, Component component) {
- this.camelContext = component == null ? null : component.getCamelContext();
- this.component = component;
- this.setEndpointUri(endpointUri);
- }
-
- /**
- * Constructs a partially-initialized DefaultEndpoint instance. Useful when
- * creating endpoints manually (e.g., as beans in Spring).
- * <p/>
- * Please note that the endpoint URI must be set through properties (or
- * overriding {@link #createEndpointUri()} if one uses this constructor.
- * <p/>
- * <b>Note:</b> It is preferred to create endpoints using the associated
- * component.
- */
- protected DefaultEndpoint() {
- }
-
- public int hashCode() {
- return getEndpointUri().hashCode() * 37 + 1;
- }
-
- @Override
- public boolean equals(Object object) {
- if (object instanceof DefaultEndpoint) {
- DefaultEndpoint that = (DefaultEndpoint)object;
- // must also match the same CamelContext in case we compare endpoints from different contexts
- String thisContextName = this.getCamelContext() != null ? this.getCamelContext().getName() : null;
- String thatContextName = that.getCamelContext() != null ? that.getCamelContext().getName() : null;
- return ObjectHelper.equal(this.getEndpointUri(), that.getEndpointUri()) && ObjectHelper.equal(thisContextName, thatContextName);
- }
- return false;
- }
-
- @Override
- public String toString() {
- if (endpointUriToString == null) {
- String value = null;
- try {
- value = getEndpointUri();
- } catch (RuntimeException e) {
- // ignore any exception and use null for building the string value
- }
- // ensure to sanitize uri so we do not show sensitive information such as passwords
- endpointUriToString = URISupport.sanitizeUri(value);
- }
- return endpointUriToString;
- }
-
- /**
- * Returns a unique String ID which can be used for aliasing without having
- * to use the whole URI which is not unique
- */
- public String getId() {
- return id;
- }
-
- public String getEndpointUri() {
- if (endpointUri == null) {
- endpointUri = createEndpointUri();
- if (endpointUri == null) {
- throw new IllegalArgumentException("endpointUri is not specified and " + getClass().getName()
- + " does not implement createEndpointUri() to create a default value");
- }
- }
- return endpointUri;
- }
-
- public String getEndpointKey() {
- if (isLenientProperties()) {
- // only use the endpoint uri without parameters as the properties are lenient
- String uri = getEndpointUri();
- if (uri.indexOf('?') != -1) {
- return StringHelper.before(uri, "?");
- } else {
- return uri;
- }
- } else {
- // use the full endpoint uri
- return getEndpointUri();
- }
- }
-
- public CamelContext getCamelContext() {
- return camelContext;
- }
-
- @Override
- public AsyncProducer createAsyncProducer() throws Exception {
- return AsyncProcessorConverterHelper.convert(createProducer());
- }
-
- /**
- * Returns the component that created this endpoint.
- *
- * @return the component that created this endpoint, or <tt>null</tt> if
- * none set
- */
- public Component getComponent() {
- return component;
- }
-
- public void setCamelContext(CamelContext camelContext) {
- this.camelContext = camelContext;
- }
-
- public PollingConsumer createPollingConsumer() throws Exception {
- // should not call configurePollingConsumer when its EventDrivenPollingConsumer
- if (log.isDebugEnabled()) {
- log.debug("Creating EventDrivenPollingConsumer with queueSize: {} blockWhenFull: {} blockTimeout: {}",
- new Object[]{getPollingConsumerQueueSize(), isPollingConsumerBlockWhenFull(), getPollingConsumerBlockTimeout()});
- }
- EventDrivenPollingConsumer consumer = new EventDrivenPollingConsumer(this, getPollingConsumerQueueSize());
- consumer.setBlockWhenFull(isPollingConsumerBlockWhenFull());
- consumer.setBlockTimeout(getPollingConsumerBlockTimeout());
- return consumer;
- }
-
- public Exchange createExchange() {
- return createExchange(getExchangePattern());
- }
-
- public Exchange createExchange(ExchangePattern pattern) {
- return new DefaultExchange(this, pattern);
- }
-
- /**
- * Returns the default exchange pattern to use when creating an exchange.
- */
- public ExchangePattern getExchangePattern() {
- return exchangePattern;
- }
-
- /**
- * Sets the default exchange pattern when creating an exchange.
- */
- public void setExchangePattern(ExchangePattern exchangePattern) {
- this.exchangePattern = exchangePattern;
- }
-
- /**
- * Returns whether synchronous processing should be strictly used.
- */
- public boolean isSynchronous() {
- return synchronous;
- }
-
- /**
- * Sets whether synchronous processing should be strictly used, or Camel is
- * allowed to use asynchronous processing (if supported).
- *
- * @param synchronous <tt>true</tt> to enforce synchronous processing
- */
- public void setSynchronous(boolean synchronous) {
- this.synchronous = synchronous;
- }
-
- public boolean isBridgeErrorHandler() {
- return bridgeErrorHandler;
- }
-
- /**
- * Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while
- * the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and
- * handled by the routing Error Handler.
- * <p/>
- * By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions,
- * that will be logged at WARN/ERROR level and ignored.
- */
- public void setBridgeErrorHandler(boolean bridgeErrorHandler) {
- this.bridgeErrorHandler = bridgeErrorHandler;
- }
-
- public ExceptionHandler getExceptionHandler() {
- return exceptionHandler;
- }
-
- /**
- * To let the consumer use a custom ExceptionHandler.
- + Notice if the option bridgeErrorHandler is enabled then this options is not in use.
- + By default the consumer will deal with exceptions, that will be logged at WARN/ERROR level and ignored.
- */
- public void setExceptionHandler(ExceptionHandler exceptionHandler) {
- this.exceptionHandler = exceptionHandler;
- }
-
- /**
- * Gets the {@link org.apache.camel.PollingConsumer} queue size, when {@link org.apache.camel.impl.EventDrivenPollingConsumer}
- * is being used. Notice some Camel components may have their own implementation of {@link org.apache.camel.PollingConsumer} and
- * therefore not using the default {@link org.apache.camel.impl.EventDrivenPollingConsumer} implementation.
- * <p/>
- * The default value is <tt>1000</tt>
- */
- public int getPollingConsumerQueueSize() {
- return pollingConsumerQueueSize;
- }
-
- /**
- * Sets the {@link org.apache.camel.PollingConsumer} queue size, when {@link org.apache.camel.impl.EventDrivenPollingConsumer}
- * is being used. Notice some Camel components may have their own implementation of {@link org.apache.camel.PollingConsumer} and
- * therefore not using the default {@link org.apache.camel.impl.EventDrivenPollingConsumer} implementation.
- * <p/>
- * The default value is <tt>1000</tt>
- */
- public void setPollingConsumerQueueSize(int pollingConsumerQueueSize) {
- this.pollingConsumerQueueSize = pollingConsumerQueueSize;
- }
-
- /**
- * Whether to block when adding to the internal queue off when {@link org.apache.camel.impl.EventDrivenPollingConsumer}
- * is being used. Notice some Camel components may have their own implementation of {@link org.apache.camel.PollingConsumer} and
- * therefore not using the default {@link org.apache.camel.impl.EventDrivenPollingConsumer} implementation.
- * <p/>
- * Setting this option to <tt>false</tt>, will result in an {@link java.lang.IllegalStateException} being thrown
- * when trying to add to the queue, and its full.
- * <p/>
- * The default value is <tt>true</tt> which will block the producer queue until the queue has space.
- */
- public boolean isPollingConsumerBlockWhenFull() {
- return pollingConsumerBlockWhenFull;
- }
-
- /**
- * Set whether to block when adding to the internal queue off when {@link org.apache.camel.impl.EventDrivenPollingConsumer}
- * is being used. Notice some Camel components may have their own implementation of {@link org.apache.camel.PollingConsumer} and
- * therefore not using the default {@link org.apache.camel.impl.EventDrivenPollingConsumer} implementation.
- * <p/>
- * Setting this option to <tt>false</tt>, will result in an {@link java.lang.IllegalStateException} being thrown
- * when trying to add to the queue, and its full.
- * <p/>
- * The default value is <tt>true</tt> which will block the producer queue until the queue has space.
- */
- public void setPollingConsumerBlockWhenFull(boolean pollingConsumerBlockWhenFull) {
- this.pollingConsumerBlockWhenFull = pollingConsumerBlockWhenFull;
- }
-
- /**
- * Sets the timeout in millis to use when adding to the internal queue off when {@link org.apache.camel.impl.EventDrivenPollingConsumer}
- * is being used.
- *
- * @see #setPollingConsumerBlockWhenFull(boolean)
- */
- public long getPollingConsumerBlockTimeout() {
- return pollingConsumerBlockTimeout;
- }
-
- /**
- * Sets the timeout in millis to use when adding to the internal queue off when {@link org.apache.camel.impl.EventDrivenPollingConsumer}
- * is being used.
- *
- * @see #setPollingConsumerBlockWhenFull(boolean)
- */
- public void setPollingConsumerBlockTimeout(long pollingConsumerBlockTimeout) {
- this.pollingConsumerBlockTimeout = pollingConsumerBlockTimeout;
- }
-
- public void configureProperties(Map<String, Object> options) {
- Map<String, Object> consumerProperties = IntrospectionSupport.extractProperties(options, "consumer.");
- if (consumerProperties != null && !consumerProperties.isEmpty()) {
- setConsumerProperties(consumerProperties);
- }
- }
-
- /**
- * Sets the bean properties on the given bean.
- * <p/>
- * This is the same logical implementation as {@link DefaultComponent#setProperties(Object, java.util.Map)}
- *
- * @param bean the bean
- * @param parameters properties to set
- */
- protected void setProperties(Object bean, Map<String, Object> parameters) throws Exception {
- // set reference properties first as they use # syntax that fools the regular properties setter
- EndpointHelper.setReferenceProperties(getCamelContext(), bean, parameters);
- EndpointHelper.setProperties(getCamelContext(), bean, parameters);
- }
-
- /**
- * A factory method to lazily create the endpointUri if none is specified
- */
- protected String createEndpointUri() {
- return null;
- }
-
- /**
- * Sets the endpointUri if it has not been specified yet via some kind of
- * dependency injection mechanism. This allows dependency injection
- * frameworks such as Spring or Guice to set the default endpoint URI in
- * cases where it has not been explicitly configured using the name/context
- * in which an Endpoint is created.
- */
- public void setEndpointUriIfNotSpecified(String value) {
- if (endpointUri == null) {
- setEndpointUri(value);
- }
- }
-
- /**
- * Sets the URI that created this endpoint.
- */
- protected void setEndpointUri(String endpointUri) {
- this.endpointUri = endpointUri;
- }
-
- public boolean isLenientProperties() {
- // default should be false for most components
- return false;
- }
-
- public Map<String, Object> getConsumerProperties() {
- if (consumerProperties == null) {
- // must create empty if none exists
- consumerProperties = new HashMap<>();
- }
- return consumerProperties;
- }
-
- public void setConsumerProperties(Map<String, Object> consumerProperties) {
- // append consumer properties
- if (consumerProperties != null && !consumerProperties.isEmpty()) {
- if (this.consumerProperties == null) {
- this.consumerProperties = new HashMap<>(consumerProperties);
- } else {
- this.consumerProperties.putAll(consumerProperties);
- }
- }
- }
-
- protected void configureConsumer(Consumer consumer) throws Exception {
- // inject CamelContext
- if (consumer instanceof CamelContextAware) {
- ((CamelContextAware) consumer).setCamelContext(getCamelContext());
- }
-
- if (consumerProperties != null) {
- // use a defensive copy of the consumer properties as the methods below will remove the used properties
- // and in case we restart routes, we need access to the original consumer properties again
- Map<String, Object> copy = new HashMap<>(consumerProperties);
-
- // set reference properties first as they use # syntax that fools the regular properties setter
- EndpointHelper.setReferenceProperties(getCamelContext(), consumer, copy);
- EndpointHelper.setProperties(getCamelContext(), consumer, copy);
-
- // special consumer.bridgeErrorHandler option
- Object bridge = copy.remove("bridgeErrorHandler");
- if (bridge != null && "true".equals(bridge)) {
- if (consumer instanceof DefaultConsumer) {
- DefaultConsumer defaultConsumer = (DefaultConsumer) consumer;
- defaultConsumer.setExceptionHandler(new BridgeExceptionHandlerToErrorHandler(defaultConsumer));
- } else {
- throw new IllegalArgumentException("Option consumer.bridgeErrorHandler is only supported by endpoints,"
- + " having their consumer extend DefaultConsumer. The consumer is a " + consumer.getClass().getName() + " class.");
- }
- }
-
- if (!this.isLenientProperties() && copy.size() > 0) {
- throw new ResolveEndpointFailedException(this.getEndpointUri(), "There are " + copy.size()
- + " parameters that couldn't be set on the endpoint consumer."
- + " Check the uri if the parameters are spelt correctly and that they are properties of the endpoint."
- + " Unknown consumer parameters=[" + copy + "]");
- }
- }
- }
-
- protected void configurePollingConsumer(PollingConsumer consumer) throws Exception {
- configureConsumer(consumer);
- }
-
- @Override
- protected void doStart() throws Exception {
- // the bridgeErrorHandler/exceptionHandler was originally configured with consumer. prefix, such as consumer.bridgeErrorHandler=true
- // so if they have been configured on the endpoint then map to the old naming style
- if (bridgeErrorHandler) {
- getConsumerProperties().put("bridgeErrorHandler", "true");
- }
- if (exceptionHandler != null) {
- getConsumerProperties().put("exceptionHandler", exceptionHandler);
- }
- }
-
- @Override
- protected void doStop() throws Exception {
- // noop
- }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointRegistry.java
index 8ff1582..f41cce5 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointRegistry.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointRegistry.java
@@ -16,40 +16,22 @@
*/
package org.apache.camel.impl;
-import java.util.AbstractMap;
-import java.util.AbstractSet;
-import java.util.Arrays;
-import java.util.Iterator;
import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.spi.EndpointRegistry;
-import org.apache.camel.util.CamelContextHelper;
-import org.apache.camel.util.CompoundIterator;
-import org.apache.camel.util.LRUCache;
-import org.apache.camel.util.LRUCacheFactory;
-import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.support.CamelContextHelper;
/**
* Default implementation of {@link org.apache.camel.spi.EndpointRegistry}
*/
-public class DefaultEndpointRegistry extends AbstractMap<EndpointKey, Endpoint> implements EndpointRegistry<EndpointKey> {
+public class DefaultEndpointRegistry extends AbstractDynamicRegistry<EndpointKey, Endpoint> implements EndpointRegistry<EndpointKey> {
+
private static final long serialVersionUID = 1L;
- private Map<EndpointKey, Endpoint> dynamicMap;
- private Map<EndpointKey, Endpoint> staticMap;
- private final CamelContext context;
- private int maxCacheSize;
public DefaultEndpointRegistry(CamelContext context) {
- this.maxCacheSize = CamelContextHelper.getMaximumEndpointCacheSize(context);
- // do not stop on eviction, as the validator may still be in use
- this.dynamicMap = LRUCacheFactory.newLRUCache(maxCacheSize, maxCacheSize, false);
- // static map to hold endpoints we do not want to be evicted
- this.staticMap = new ConcurrentHashMap<>();
- this.context = context;
+ super(context, CamelContextHelper.getMaximumEndpointCacheSize(context));
}
public DefaultEndpointRegistry(CamelContext context, Map<EndpointKey, Endpoint> endpoints) {
@@ -58,150 +40,13 @@ public class DefaultEndpointRegistry extends AbstractMap<EndpointKey, Endpoint>
}
@Override
- public void start() throws Exception {
- if (dynamicMap instanceof LRUCache) {
- ((LRUCache) dynamicMap).resetStatistics();
- }
- }
-
- @Override
- public Endpoint get(Object o) {
- // try static map first
- Endpoint answer = staticMap.get(o);
- if (answer == null) {
- answer = dynamicMap.get(o);
- if (answer != null && (context.isSetupRoutes() || context.getRouteController().isStartingRoutes())) {
- dynamicMap.remove(o);
- staticMap.put((EndpointKey) o, answer);
- }
- }
- return answer;
- }
-
- @Override
- public Endpoint put(EndpointKey key, Endpoint endpoint) {
- // at first we must see if the key already exists and then replace it back, so it stays the same spot
- Endpoint answer = staticMap.remove(key);
- if (answer != null) {
- // replace existing
- staticMap.put(key, endpoint);
- return answer;
- }
-
- answer = dynamicMap.remove(key);
- if (answer != null) {
- // replace existing
- dynamicMap.put(key, endpoint);
- return answer;
- }
-
- // we want endpoints to be static if they are part of setting up or starting routes
- if (context.isSetupRoutes() || context.getRouteController().isStartingRoutes()) {
- answer = staticMap.put(key, endpoint);
- } else {
- answer = dynamicMap.put(key, endpoint);
- }
-
- return answer;
- }
-
- @Override
- public boolean containsKey(Object o) {
- return staticMap.containsKey(o) || dynamicMap.containsKey(o);
- }
-
- @Override
- public boolean containsValue(Object o) {
- return staticMap.containsValue(o) || dynamicMap.containsValue(o);
- }
-
- @Override
- public int size() {
- return staticMap.size() + dynamicMap.size();
- }
-
- public int staticSize() {
- return staticMap.size();
- }
-
- @Override
- public int dynamicSize() {
- return dynamicMap.size();
- }
-
- @Override
- public boolean isEmpty() {
- return staticMap.isEmpty() && dynamicMap.isEmpty();
- }
-
- @Override
- public Endpoint remove(Object o) {
- Endpoint answer = staticMap.remove(o);
- if (answer == null) {
- answer = dynamicMap.remove(o);
- }
- return answer;
- }
-
- @Override
- public void clear() {
- staticMap.clear();
- dynamicMap.clear();
- }
-
- @Override
- public Set<Entry<EndpointKey, Endpoint>> entrySet() {
- return new AbstractSet<Entry<EndpointKey, Endpoint>>() {
- @Override
- public Iterator<Entry<EndpointKey, Endpoint>> iterator() {
- return new CompoundIterator<>(Arrays.asList(
- staticMap.entrySet().iterator(), dynamicMap.entrySet().iterator()
- ));
- }
-
- @Override
- public int size() {
- return staticMap.size() + dynamicMap.size();
- }
- };
- }
-
- @Override
- public int getMaximumCacheSize() {
- return maxCacheSize;
- }
-
- /**
- * Purges the cache
- */
- @Override
- public void purge() {
- // only purge the dynamic part
- dynamicMap.clear();
- }
-
- @Override
- public void cleanUp() {
- if (dynamicMap instanceof LRUCache) {
- ((LRUCache) dynamicMap).cleanUp();
- }
- }
-
- @Override
public boolean isStatic(String key) {
- return staticMap.containsKey(new EndpointKey(key));
+ return isStatic(new EndpointKey(key));
}
@Override
public boolean isDynamic(String key) {
- return dynamicMap.containsKey(new EndpointKey(key));
- }
-
- @Override
- public void stop() throws Exception {
- ServiceHelper.stopService(staticMap.values());
- ServiceHelper.stopService(values());
- purge();
+ return isDynamic(new EndpointKey(key));
}
@Override
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointUtilizationStatistics.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointUtilizationStatistics.java
index 3c93523..84e8f8b 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointUtilizationStatistics.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpointUtilizationStatistics.java
@@ -20,7 +20,7 @@ import java.util.Collections;
import java.util.Map;
import org.apache.camel.spi.EndpointUtilizationStatistics;
-import org.apache.camel.util.LRUCacheFactory;
+import org.apache.camel.support.LRUCacheFactory;
public class DefaultEndpointUtilizationStatistics implements EndpointUtilizationStatistics {
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
deleted file mode 100644
index c2357d4..0000000
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
+++ /dev/null
@@ -1,557 +0,0 @@
-/**
- * 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.impl;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Message;
-import org.apache.camel.MessageHistory;
-import org.apache.camel.spi.Synchronization;
-import org.apache.camel.spi.UnitOfWork;
-import org.apache.camel.util.EndpointHelper;
-import org.apache.camel.util.ExchangeHelper;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * A default implementation of {@link Exchange}
- */
-public final class DefaultExchange implements Exchange {
-
- protected final CamelContext context;
- private Map<String, Object> properties;
- private Message in;
- private Message out;
- private Exception exception;
- private String exchangeId;
- private UnitOfWork unitOfWork;
- private ExchangePattern pattern;
- private Endpoint fromEndpoint;
- private String fromRouteId;
- private List<Synchronization> onCompletions;
-
- public DefaultExchange(CamelContext context) {
- this(context, ExchangePattern.InOnly);
- }
-
- public DefaultExchange(CamelContext context, ExchangePattern pattern) {
- this.context = context;
- this.pattern = pattern;
- }
-
- public DefaultExchange(Exchange parent) {
- this(parent.getContext(), parent.getPattern());
- this.fromEndpoint = parent.getFromEndpoint();
- this.fromRouteId = parent.getFromRouteId();
- this.unitOfWork = parent.getUnitOfWork();
- }
-
- public DefaultExchange(Endpoint fromEndpoint) {
- this(fromEndpoint, ExchangePattern.InOnly);
- }
-
- public DefaultExchange(Endpoint fromEndpoint, ExchangePattern pattern) {
- this(fromEndpoint.getCamelContext(), pattern);
- this.fromEndpoint = fromEndpoint;
- }
-
- @Override
- public String toString() {
- // do not output information about the message as it may contain sensitive information
- return String.format("Exchange[%s]", exchangeId == null ? "" : exchangeId);
- }
-
- @Override
- public Date getCreated() {
- if (hasProperties()) {
- return getProperty(Exchange.CREATED_TIMESTAMP, Date.class);
- } else {
- return null;
- }
- }
-
- public Exchange copy() {
- DefaultExchange exchange = new DefaultExchange(this);
-
- exchange.setIn(getIn().copy());
- exchange.getIn().setBody(getIn().getBody());
- exchange.getIn().setFault(getIn().isFault());
- if (getIn().hasHeaders()) {
- exchange.getIn().setHeaders(safeCopyHeaders(getIn().getHeaders()));
- // just copy the attachments here
- exchange.getIn().copyAttachments(getIn());
- }
- if (hasOut()) {
- exchange.setOut(getOut().copy());
- exchange.getOut().setBody(getOut().getBody());
- exchange.getOut().setFault(getOut().isFault());
- if (getOut().hasHeaders()) {
- exchange.getOut().setHeaders(safeCopyHeaders(getOut().getHeaders()));
- }
- // Just copy the attachments here
- exchange.getOut().copyAttachments(getOut());
- }
-
- exchange.setException(getException());
-
- // copy properties after body as body may trigger lazy init
- if (hasProperties()) {
- exchange.setProperties(safeCopyProperties(getProperties()));
- }
-
- return exchange;
- }
-
- private Map<String, Object> safeCopyHeaders(Map<String, Object> headers) {
- if (headers == null) {
- return null;
- }
-
- return context.getHeadersMapFactory().newMap(headers);
- }
-
- @SuppressWarnings("unchecked")
- private Map<String, Object> safeCopyProperties(Map<String, Object> properties) {
- if (properties == null) {
- return null;
- }
-
- Map<String, Object> answer = createProperties(properties);
-
- // safe copy message history using a defensive copy
- List<MessageHistory> history = (List<MessageHistory>) answer.remove(Exchange.MESSAGE_HISTORY);
- if (history != null) {
- answer.put(Exchange.MESSAGE_HISTORY, new LinkedList<>(history));
- }
-
- return answer;
- }
-
- public CamelContext getContext() {
- return context;
- }
-
- public Object getProperty(String name) {
- if (properties != null) {
- return properties.get(name);
- }
- return null;
- }
-
- public Object getProperty(String name, Object defaultValue) {
- Object answer = getProperty(name);
- return answer != null ? answer : defaultValue;
- }
-
- @SuppressWarnings("unchecked")
- public <T> T getProperty(String name, Class<T> type) {
- Object value = getProperty(name);
- if (value == null) {
- // lets avoid NullPointerException when converting to boolean for null values
- if (boolean.class == type) {
- return (T) Boolean.FALSE;
- }
- return null;
- }
-
- // eager same instance type test to avoid the overhead of invoking the type converter
- // if already same type
- if (type.isInstance(value)) {
- return (T) value;
- }
-
- return ExchangeHelper.convertToType(this, type, value);
- }
-
- @SuppressWarnings("unchecked")
- public <T> T getProperty(String name, Object defaultValue, Class<T> type) {
- Object value = getProperty(name, defaultValue);
- if (value == null) {
- // lets avoid NullPointerException when converting to boolean for null values
- if (boolean.class == type) {
- return (T) Boolean.FALSE;
- }
- return null;
- }
-
- // eager same instance type test to avoid the overhead of invoking the type converter
- // if already same type
- if (type.isInstance(value)) {
- return (T) value;
- }
-
- return ExchangeHelper.convertToType(this, type, value);
- }
-
- public void setProperty(String name, Object value) {
- if (value != null) {
- // avoid the NullPointException
- getProperties().put(name, value);
- } else {
- // if the value is null, we just remove the key from the map
- if (name != null) {
- getProperties().remove(name);
- }
- }
- }
-
- public Object removeProperty(String name) {
- if (!hasProperties()) {
- return null;
- }
- return getProperties().remove(name);
- }
-
- public boolean removeProperties(String pattern) {
- return removeProperties(pattern, (String[]) null);
- }
-
- public boolean removeProperties(String pattern, String... excludePatterns) {
- if (!hasProperties()) {
- return false;
- }
-
- // store keys to be removed as we cannot loop and remove at the same time in implementations such as HashMap
- Set<String> toBeRemoved = new HashSet<>();
- boolean matches = false;
- for (String key : properties.keySet()) {
- if (EndpointHelper.matchPattern(key, pattern)) {
- if (excludePatterns != null && isExcludePatternMatch(key, excludePatterns)) {
- continue;
- }
- matches = true;
- toBeRemoved.add(key);
- }
- }
-
- if (!toBeRemoved.isEmpty()) {
- if (toBeRemoved.size() == properties.size()) {
- // special optimization when all should be removed
- properties.clear();
- } else {
- toBeRemoved.forEach(k -> properties.remove(k));
- }
- }
-
- return matches;
- }
-
- public Map<String, Object> getProperties() {
- if (properties == null) {
- properties = createProperties();
- }
- return properties;
- }
-
- public boolean hasProperties() {
- return properties != null && !properties.isEmpty();
- }
-
- public void setProperties(Map<String, Object> properties) {
- this.properties = properties;
- }
-
- public Message getIn() {
- if (in == null) {
- in = new DefaultMessage(getContext());
- configureMessage(in);
- }
- return in;
- }
-
- public <T> T getIn(Class<T> type) {
- Message in = getIn();
-
- // eager same instance type test to avoid the overhead of invoking the type converter
- // if already same type
- if (type.isInstance(in)) {
- return type.cast(in);
- }
-
- // fallback to use type converter
- return context.getTypeConverter().convertTo(type, this, in);
- }
-
- public void setIn(Message in) {
- this.in = in;
- configureMessage(in);
- }
-
- public Message getOut() {
- // lazy create
- if (out == null) {
- out = (in instanceof MessageSupport)
- ? ((MessageSupport)in).newInstance() : new DefaultMessage(getContext());
- configureMessage(out);
- }
- return out;
- }
-
- public <T> T getOut(Class<T> type) {
- if (!hasOut()) {
- return null;
- }
-
- Message out = getOut();
-
- // eager same instance type test to avoid the overhead of invoking the type converter
- // if already same type
- if (type.isInstance(out)) {
- return type.cast(out);
- }
-
- // fallback to use type converter
- return context.getTypeConverter().convertTo(type, this, out);
- }
-
- public boolean hasOut() {
- return out != null;
- }
-
- public void setOut(Message out) {
- this.out = out;
- configureMessage(out);
- }
-
- public Message getMessage() {
- return hasOut() ? getOut() : getIn();
- }
-
- public <T> T getMessage(Class<T> type) {
- return hasOut() ? getOut(type) : getIn(type);
- }
-
- public void setMessage(Message message) {
- if (hasOut()) {
- setOut(message);
- } else {
- setIn(message);
- }
- }
-
-
- public Exception getException() {
- return exception;
- }
-
- public <T> T getException(Class<T> type) {
- return ObjectHelper.getException(type, exception);
- }
-
- public void setException(Throwable t) {
- if (t == null) {
- this.exception = null;
- } else if (t instanceof Exception) {
- this.exception = (Exception) t;
- } else {
- // wrap throwable into an exception
- this.exception = ObjectHelper.wrapCamelExecutionException(this, t);
- }
- if (t instanceof InterruptedException) {
- // mark the exchange as interrupted due to the interrupt exception
- setProperty(Exchange.INTERRUPTED, Boolean.TRUE);
- }
- }
-
... 86882 lines suppressed ...