Hi Pallav,
I just started a new gig, so I don't have my drools env all set up, but here
are my suggestions to help you to really understand dsl's and build some
powerful rules using them.
Quick, dirty, but you won't become a guru:
1. Download Drools 5.
2. Use the syntax for typed variables, and use regular expressions in your
mapping file. For example,
[condition][]{varname:[a-zA-z0-9]+}\s+is\sa\s+Volume\s+where\s+....
3. Keep in mind that dsl entries are expanded in a rule in the order they are
declared in the DSL mapping file.
How to really learn it...
1. D/L the source and build.
2. Run your app, but run it through a debugger with breakpoint in the
DefaultExpander class, so you can see exactly how pattern matching is going on,
and step by step how your mappings transform your rule. The rule below should
have 3 mappings, the third one matching in two locations.
v1 is a Volume where status is "NV" and sourceId is 2 and volume is
1000
Also, check the blog at
http://blog.athico.com/2008/06/allowing-variable-masks-in-dsl-grammar.html, and
on the mailing list. I've posted several times in the last couple months on
how to solve this very problem using typed DSL variables.
--Matt
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users