Recently I found some spare time to look into Sculptor issue #158. Here Dan Haywood suggested to add support for the programming model of Apache Isis.

The DSL outlined in JIRA ticket ISIS-369 shows similarities to Sculptors DSL: It has persistent entities (with properties/attributes and actions/operations) and services (actions/operations). The Isis DSL defines a model with objects which can be directly mapped to fully functional Java objects (with annotations and code blocks). But Sculptors DSL defines a model which has to be enriched and transformed first before code or configuration can be generated. And the code generated by Sculptors Maven plugin is not complete - in the generated gap classes the business logic has to be implemented manually.

So it seems that (instead of leveraging Sculptor) creating a new Isis-specific DSL is the way to go here. As suggested in the JIRA ticket this DSL should use Xtexts support for Java types and Xbase expressions to generate Java code.

I’ve been keen on fiddling around with Xbase for a while. This gives me a perfect reason to do some serious experiments with a Xext DSL which uses Xbase. To document the results I’m starting a new project - Isis Script. The source code can be found in the GitHub repository vaulttec/isis-script.