Krishna,
The dialect configuration affects only semantic code blocks. I.e.,
consequences, eval() blocks, etc.
They are designed to be interchangeable. That is why the examples have
rules using each of the dialects.
It is mostly a matter of taste, but MVEL is a script language and as so
has syntax sugar for nested object access, collections, maps, arrays etc...
nothing more than that. Also, MVEL supports java syntax anyway. For
instance, assuming you have a class:
Person {
Map<String, Address> addresses;
// gets/sets
}
The following consequence should run just fine, both in java and MVEL:
then
$person.getAddresses().get("home").setStreetName("my street");
end
Although, MVEL allows you to use a cleaner syntax:
then
$person.addresses["home"].streetName = "my street";
end
It is mostly a matter of taste.
[]s
Edson
2008/5/14 Krishna Satya <krishna.ksatya(a)gmail.com>:
Hi, I am trying to understand the difference in how drl rules are
expressed
via the java or mvel dialects. Looking at the drools-examples it is not
exactly clear. I was looking at the PetStore.drl which seems to specify the
dialects for various rules using both java and mvel. Are there any
references to examples which showcase a rule that is expressed both through
java and mvel dialects so it is clear what the differences are. The rules
in the PetStore.drl which specify java or mvel syntactically seem to look
the same.
Also, are there any general suggestions as to when a rule author should use
the java or the mvel dialect.
Thanks.
- K
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @
www.jboss.com