Thx for your answer. I tried again the rule, removing the extra space after hyphen from DSL expresion. No luck. So, I tried a few more cases, and the only one that worked correctly was #3. It seems to me that is somehow related to the parenthesis, although it might be something else. Hope this info helps.
1) only eval: DSL: [when] There is an Asset=asset:Asset() [when]-name is empty=eval(name=="''") [when]-tag is empty=eval(tag=="''") Rule source: rule "test_rule" dialect "mvel" when asset:Asset( eval(name=="''", eval(tag=="''") ) ) then end 2) no eval, but with the parenthesis: DSL: [when] There is an Asset=asset:Asset() [when]-name is empty=(name=="''") [when]-tag is empty=(tag=="''") Rule source rule "test_rule" dialect "mvel" when asset:Asset( (name=="''", (tag=="''") ) ) then end 3) simple case DSL [when] There is an Asset=asset:Asset() [when]-name empty=name=="''" [when]-tag empty=tag=="''" Rule Source: rule "test_rule" dialect "mvel" when asset:Asset( name=="''", tag=="''" ) then end Thanks, --- On Thu, 8/26/10, Mauricio Salatino <sala...@gmail.com> wrote: From: Mauricio Salatino <sala...@gmail.com> Subject: Re: [rules-users] Drools Guvnor: DSL with multiple fact fields conditions using "-" and eval To: "Rules Users List" <rules-users@lists.jboss.org> Date: Thursday, August 26, 2010, 10:43 PM can you try with this: [when] There is an Asset=asset:Asset() [when] -name is empty=eval(StringUtils.isBlank(name)) [when] -tag is empty=eval(StringUtils.isBlank(tag)) 2010/8/26 Patricia Bogoevici <patriciabogoev...@yahoo.com> Hi all, I am using the latest Guvnor release (5.1), and I have the following DSL expression where I use "-" to have conditions on multiple lines: [when] There is an Asset=asset:Asset() [when]- name is empty=eval(StringUtils.isBlank(name)) [when]- tag is empty=eval(StringUtils.isBlank(tag)) Having these DSL expressions, I wanted to create a rule, but I ran into some issues. To summarize: There seems to be a parsing error, when conditions are added in DSL using "-". Did anybody else run into this problem? I wonder if I do something wrong, but, re-creating the DSL to have the 2 conditions into one expression, is all working fine. It may be a combination of "-" and eval? Below, is the description of rules created, and error I got. First, I created a rule using the above DSL expressions in the BRL editor. While the rule looked ok in the editor, and it validated fine, only when I checked the source I noticed is wrong. So, the rule source looks like this: rule "test_dsl" dialect "mvel" when asset:Asset( eval(StringUtils.isBlank(name, eval(StringUtils.isBlank(tag)) )) ) then asset.setStatus("INVALID") end It looks that the conditions are parsed incorrectly, and the second eval condition is added as a parameter to the StringUtils.isBlank from the first eval. Also, all the right parenthesis are added at the end of the expression. If I add one condition at a time, it all works fine. The error is when I have more than 1 condition. So, I created a new DSL, that contains both conditions into one line, eliminating the hyphen between conditions: [when] There is an asset with name empty AND tag empty =asset:Asset(eval(StringUtils.isBlank(name)),eval(StringUtils.isBlank(tag))) Using BRL editor, I created a second rule using the DSL above. The rule validated ok, and the rule source looks fine: rule "test_dsl_1" dialect "mvel" when asset:Asset(eval(StringUtils.isBlank(name)),eval(StringUtils.isBlank(tag))) then asset.setStatus("INVALID") end I created a test for this rule, that ran correctly. Thanks, Patricia _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- - CTO @ http://www.plugtree.com - MyJourney @ http://salaboy.wordpress.com - Co-Founder @ http://www.jbug.com.ar - Salatino "Salaboy" Mauricio - -----Inline Attachment Follows----- _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users