Hi, yes some examples to describe these new features would be great. There are tones of changes which is a bit hard to follow at this stage (at least for me)
On Wed, Jul 24, 2019 at 4:17 PM Andrea Cosentino <anco...@gmail.com> wrote: > Yeah, a concrete example of what has been done could be useful to better > understand > > Il mer 24 lug 2019, 17:11 Luca Burgazzoli <lburgazz...@gmail.com> ha > scritto: > > > I Guillaume, > > > > I think it is a little bit hard to figure out what's happening looking at > > the code changes as it is quite a huge list of changed file :) > > Maybe having some concrete examples or an examples of what things will > look > > like could help to have a better understanding and giove more options to > > suggest enhancements or raising concerns. > > > > > > --- > > Luca Burgazzoli > > > > > > 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 > > > > > >