[
https://issues.apache.org/jira/browse/CAMEL-4417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Schneider updated CAMEL-4417:
---------------------------------------
Attachment: CAMEL-4417-1.patch
Patch moving all support classes from impl to support.
I moved the following classes and placed compatibility classes in their impl
location:
DefaultAsyncProducer,
DefaultComponent,
DefaultConsumer,
DefaultEndpoint,
DefaultExchange,
DefaultMessage,
DefaultPollingEndpoint,
DefaultProducer,
DefaultUnitOfWork,
ExpressionSupport,
HeaderFilterStrategyComponent,
InterceptSendToMockEndpointStrategy,
LoggingExceptionHandler,
PollingConsumerSupport,
ProcessorEndpoint,
ProducerCache,
ScheduledPollConsumer,
ScheduledPollEndpoint,
I moved the following classes without compat stubs as they were not needed
outside camel-core:
DefaultPollingConsumerPollStrategy, DefaultRouteNode,
DefaultScheduledPollConsumer, DefaultSubUnitOfWork, DefaultTracedRouteNodes,
EventDrivenPollingConsumer, ExpressionAdapter,
InterceptSendToEndpoint,
MDCUnitOfWork,
MessageSupport,
ProcessorPollingConsumer,
SimpleUuidGenerator
I moved AsyncProcessorConverterHelper from processor to util as it is needed
from support.
The only problematic class I moved was DefaultConsumer as it needed
AsyncProcessorConverterHelper. So the above including the inner class
ProcessorToAsyncProcessorBridge had to move to util. The problem here was that
the Bridge had to extend DelegateProcessor which of course is in processor. As
util should not depend on processor I had to introduce an interface
DelegateProcessor in camel that could be used to abstract from
ProcessorToAsyncProcessorBridge, DelegateProcessor and DelegateAsyncProcessor.
This is a good thing anyway and I will open a jira to do this first.
I also had to move PipelineHelper and SimpleUuidGeneratopr to util as they were
used from support classes.
This is a fairly large patch. So I am not sure if it is good for 2.9. On the
other hand if we wait with this till 3.0 we are either really incompatible or
we can not remove the deprecated classes
> Move base classes used by components from impl to support
> ---------------------------------------------------------
>
> Key: CAMEL-4417
> URL: https://issues.apache.org/jira/browse/CAMEL-4417
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 2.8.0
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Fix For: 3.0.0
>
> Attachments: CAMEL-4417-1.patch
>
>
> Several classes in impl are used or extended by components. We should avoid
> this.
> The base classes should be moved to support. Examples are DefaultComponent,
> DefaultEndpoint, DefaultProducer.
> Another case is the AsyncProcessorTypeConverter. The typeconverter is well
> placed in impl but the class also has a public static convert method that is
> used from many components. So this functionality should be moved to processor
> so it is available to components.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira