[ https://issues.apache.org/jira/browse/CAMEL-4475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113448#comment-13113448 ]
Christian Schneider commented on CAMEL-4475: -------------------------------------------- The SPI changes I made are absolutely necessary. I can add compatibility where it is needed but I think most spi interfaces are not use by many people. So I would only create the compatibility overhead where we expect usage. I talked to Dan and Hadrian to determine where it is necessary. We agreed that Policy is such a case but the rest should not be a problem. I also just compared the xsd files before and after this patch. Both are exactly the same. So that should not create any issues. > Make API self contained > ----------------------- > > Key: CAMEL-4475 > URL: https://issues.apache.org/jira/browse/CAMEL-4475 > Project: Camel > Issue Type: Improvement > Components: camel-core > Affects Versions: 2.8.0 > Reporter: Christian Schneider > Assignee: Christian Schneider > Fix For: 2.9.0 > > Attachments: camel-4475-1.patch, camel-4475-2.patch, > camel-4475-after.png, camel-4475-before.png > > > The API, SPI packages of camel are already quite independent after the > previous refactorings. There are three classes in model that are still needed > at the moment. > ProcessorDefinition, RouteDefinition and FromDefiniton > I propose to add the necessary methods to NamedNode to be able to reference > most of the functionality of the classes. For RouteDefinition I propose a > special interface that adds the ErrorHandler. For the rare cases where more > functionality is needed a instanceof and a cast can be used. > I will attach a patch shortly that solves the issue and would be glad about > some reviews. > The patch can not be fully compatible but the changes are mostly in spi > interfaces that are probably rather rarely used. > I will also add screenshots from structure 101 that show how much the > architecture improves after this patch. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira