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

Reply via email to