[ 
https://issues.apache.org/jira/browse/CAMEL-4475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13112507#comment-13112507
 ] 

Christian Schneider commented on CAMEL-4475:
--------------------------------------------

The XSD should not have changed as all tests are passing for me. So the spring 
DSL should be compatible. As far as I can tell the Java DSL should also be 
compatible. If you would like to keep the .model package as is then I would be 
interested how to do this while removing the model references from 
org.apache.camel and org.apache.camel.spi.

About the NamedNode. I used it as it was already there and I think the 
additional methods did not hurt much. I can also create a new interface the 
ProcessorDefinition implements but this will create an additional layer. In the 
moment NamedNode is only used for definition and these can potentially have 
outputs and parents so I think it is not so bad.

Btw. I wonder if we can replace RouteNode and the implementing classes by 
interfaces the model classes directly implement. Do you think that might make 
sense?


> 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

        

Reply via email to