Couple of questions:

- how does this play with external components ?
- what about annotations we have now i.e. for endpoints ? I found
particularity useful that types, enum values and so one are taken from the
java code

---
Luca Burgazzoli


On Thu, Jul 25, 2019 at 12:04 PM Claus Ibsen <claus.ib...@gmail.com> wrote:

> 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