There is a bug in the DSL parser: after '=', a couple of variable
references merely separated by a period isn't recognized.
As a workaround, use this:
[when][]The field {field} in the module {module} contains value
{value} as {abc} =
{abc}x : {module} ( {field} != null) String(
this.equalsIgnoreCase("{value}") ) from {abc}x.{field}
-W
On 12/06/2012, Sandjaja, Dominik <dominik.sandjaja(a)it-motive.de> wrote:
There is no expanded DRL. If I take that line into the DSL, I
can't even
validate the DSL and if I have the line in it, I can't select any DSL
statements for rules in Guvnor.
BTW, I am using Drools and Guvnor 5.4.0.
Von: rules-users-bounces(a)lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] Im Auftrag von Wolfgang
Laun
Gesendet: Dienstag, 12. Juni 2012 17:31
An: Rules Users List
Betreff: Re: [rules-users] Using 'from {x}.field' in DSL
Have you checked the expanded DRL? What does this line look like?
-W
On 12 June 2012 17:06, Sandjaja, Dominik <dominik.sandjaja(a)it-motive.de>
wrote:
I have the following Drools DSL "sentence":
[when]The field {field} in the module {module} contains value
{value}=$a : {module} ( {field} != null)
String( this.equalsIgnoreCase("{value}") ) from $a.{field}
where the `field` is a `Set` of Strings.
Now, if I have two of these sentences in one rule, it obviously won't
work as the variable `$a` occurs twice. So I wanted to improve the rule
to make the variable, well, variable:
[when]The field {field} in the module {module} contains value
{value} as {a}={a} : {module} ( {field} != null)
String( this.equalsIgnoreCase("{value}") ) from {a}.{field}
This doesn't work, I can't use the part `{a}.`, that breaks.
So, my questions are: Is there either a way to rewrite the rules or a
way to allow the `{variable}.` notation to work? Alternatively, is there
a `contains` operator which works case insensitive?
Thanks in advance
Dominik
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users