[ 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