From: "Adrian Crum" <adri...@hlmksw.com>
I have been working on some ideas with the goal of making Groovy a viable
alternative to mini-language. I already committed some
code that allows methods within a Groovy script to be called, so that multiple
services can be included in one file - just like in
Java or mini-language.
My next step is to create a Groovy script that contains utility methods that
mimic many of the existing mini-language elements -
particularly the ones that do a lot of work in one line. The utility script
(ScriptUtil) will be in the Groovy context so it will
be easy to access. For example:
<simple-method method-name="createPartyRole">
<entity-one entity-name="PartyRole" value-field="partyRole"/>
<if-empty field="partyRole">
<make-value entity-name="PartyRole" value-field="newEntity"/>
<set-pk-fields map="parameters" value-field="newEntity"/>
<create-value value-field="newEntity"/>
</if-empty>
</simple-method>
becomes
Map createPartyRole() {
partyRole = ScriptUtil.entityOne("PartyRole");
if (partyRole == null) {
partyRole = ScriptUtil.makeValue("PartyRole");
partyRole.setPKFields(parameters, true);
delegator.create(partyRole, true);
}
return ServiceUtil.returnSuccess();
}
if (partyRole == null) {
should better be
if (!partyRole) {
Else sounds promising (especially for new comers): less verbose, and well known
syntax.
But as I already said before replacing minilang (or even being used besides) we
need to be sure that a DSL language based on groovy
does not introduce any problems.
Jacques
The ScriptUtil methods will duplicate the mini-language Java code so they will
be interchangeable.
The bottom line is, I'm trying to bring some of mini-language's ease of use to
Groovy. Before I proceed any further, I wanted to
find out if there was any interest in it.
What do you think?
-Adrian