On 3/9/2012 1:21 PM, Jacopo Cappellato wrote:
On Mar 9, 2012, at 12:36 PM, Adrian Crum wrote:

On 3/9/2012 11:30 AM, Jacopo Cappellato wrote:
On Mar 9, 2012, at 10:03 AM, Adrian Crum wrote:
Another advantage of this approach is the syntax remains the same across 
languages.
I also have some doubts that a language independent DSL would be very useful: 
the main concept is to extend the language of your preference in a tr

For example, in order to copy contents of maps from map to map in Groovy you 
can do something like:

lookupFieldMap = parameters.subMap(['inventoryItemId', 'productId'])
Now I understand the confusion - there is nothing "DSL" about copying a Map. In my mind the 
"Domain" in an OFBiz DSL is "OFBiz" - so the DSL adds OFBiz-specific extensions to the 
language.

What you're describing would be handled by third-party libraries.
I am simply saying that, if the goal is to be ready to switch from Groovy to 
the next language that will come, and we have code like this:

lookupFieldMap = parameters.subMap(['inventoryItemId', 'productId'])
record = findOne('InventoryItem', lookupFieldMap)

then the difficult part will be to convert the first line, not the second.
I don't see how the following code:

lookupFieldMap = parameters.subMap(['inventoryItemId', 'productId'])
record = script.findOne('InventoryItem', lookupFieldMap)

would make it easier.

If we're talking about Groovy specifically, then you are correct. The difference is, in JavaScript it would not be possible to do this:

var record = script.findOne('InventoryItem', lookupFieldMap);


-Adrian

Reply via email to