Cédric Brun bio photo

Cédric Brun

Build open-source technologies to enable mission critical tools for complex domains.

Email Twitter LinkedIn Github Youtube

Maybe twitter gives a false impression that you're keeping the users informed of what is going on. False because 140 chars can't be enough !

Many things are keeping the Obeo guys busy, from the Eclipse and open-source involvement to the incubation of highly innovative products you'll love while still providing the best service to our customers looking for expertise :) .
Oh, and we provided the first Helios service release for Compare, Acceleo, EEF, ATL and much more, go get the modeling package !

Summer is an internship time in France, and for us every internship's ultimate goal is to hire another great person. I can say we did succeed this year ! Expect even more great contributions, user experience polishing and features for Indigo !!

Furthermore the newcomers completely understood the chocolate-commit spirit ...

No doubt you'll hear about those guys at some point, Stéphane already started to blog...

Speaking about Indigo, we wrote down a "long term roadmap" for EMF Compare on the wiki, feel free to have a look ! Coming soon : more information about the MPatch contribution recently integrated in EMF Compare.

Ok, enough teasing, back to code generation. In case you did not noticed Acceleo 3 provides one of the most compelling editing tooling you can get with the Eclipse platform. Using the JDT I often find myself thinking "oh, they did though about this ! great !" : you'll often get the same feeling with Acceleo 3...
Let's try with an example: it's often useful to be able to call Java logic directly from a template. If you want to do so, start by writting down this java logic.

Then call it from your template, obviously it's not going to work as is. Here we're calling the "getJavaCompatibleName" method on an EClass, but this method is not existing on this type. Acceleo provides a mechanism to call Java logic associated with a given meta-class: the first parameter of the method have to be of the type of the extended meta-class and Acceleo will automatically transform a myInstance.myMethod() call to a SomeClass.myMethod(myInstance).

If you want to try that, call the quickfix menu on the compilation error with CTRL+1 :

Choosing the "Create Java Service Wrapper" quick fix will add a new query to your template :

And your done !