Hi

Btw a follow up question.

Would we be able to get to a point where all the model classes
(xxxDefinition and helpers etc) can be dropped at runtime, eg for
camel-quarkus optimization?
And also the refiers as they are the builder from model -> processor.

Well what you experiment with is surely a great step in that direction too.



On Wed, Jul 24, 2019 at 4:45 PM Guillaume Nodet <gno...@apache.org> wrote:
>
> Hey everyone !
>
> The last weeks, I've spend quite some time working on a camel metamodel.
> The idea is to invert the way things are built in camel so instead of
> generating the metamodel from the classes, the metamodel would be
> maintained manually and used to generate a bunch of things.
>
> This would bring the following benefits:
>   - the metamodel would necessarily be up to date
>   - generate the model classes (XyzDefinition classes) with an homogeneous
> fluent api (similar to the new endpoint DSL)
>   - get rid of some round tripping between java -> json -> java, copying
> json files everywhere , so great simplification of the build process
>   - the DSL allows type-safe + property placeholders / references everywhere
>   - generate xml readers / parsers without relying on JAXB
>   - brings extensibility of the DSL as it would be much easier to create
> DSLs based on other languages from the metamodel (yaml for example)
>
> I've pushed a branch that shows my experiments.  It's not fully working
> yet, but it gives a good idea. It's available at
>   https://github.com/gnodet/camel/tree/model
> I'm progressing a bit slowly as there are lots of step by step adjustements
> to do in order to keep compatibility of the DSL.
>
> Currently the model is generated from the json files, but the idea is to
> reverse this process and have the metamodel the real primary input for all
> generation.
> The model currently looks like:
>   https://gist.github.com/gnodet/75457febcca9a893c3c1a2b8499189b2
>
> The current JAXB model will need to be moved into a separate module so that
> it can be kept for compatibility without interfering with the new generated
> java DSL.
>
> So, still quite some work left, but I wanted to bring it to the community
> sooner rather than later, especially before I go on PTO for a few weeks
> where I'll be mostly offline.
> Happy to discuss anything or provide more infos.
>
> Cheers,
> Guillaume Nodet



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to