[rules-users] OR

Mark Proctor mproctor at codehaus.org
Tue Feb 5 06:10:08 EST 2008


Markus Helbig wrote:
> ok this works, BUT using a DSL it fails again.
>
> DSL:
>
> [condition][]is a Person=Person()
> [condition][]- female=sex == "f"
> [condition][]- male=sex == "f"
> [condition][]- age {value}=age=={value}
>
> DSLR:
>
> rule
>     when
>          ($person: is a Person
>                - male
>                - age 60
>          or
>          $person: is a Person
>                - female
>                - age 70)
>     then
> end
>
> resolves to:
>                                 |
>                                \/
> .... ($person: Person( , sex="m", age == 60)
>      or
>       $person: Person(sex="f", age == 70))
>
>
> the "," seems to be the problem ..
>   
I'm betting 'or' isn't doing what you think it's going? Conditional 
Element 'or' results in sub rule generation, each rule is total 
separate, so your above rule will result in two rules, both of which can 
match and fire if satisfied. I'm guessing its the 'or' that is screwing 
up the parsing with the extra quotation at the front? Can you open a 
jira for this?
> Cheers
>
> Markus
>
> 2008/1/28, Krishnan Sivaramakrishna Iyer <krishiyer at gmail.com>:
>   
>> Hi Markus,
>>
>> can u try this please ?
>>
>> (pensioner : Person( sex == "f", age > 60 )
>>  or pensioner : Person( sex == "m", age > 65 ) )
>>
>> -Krishnan
>>
>> Markus Helbig wrote:
>>     
>>> This is from Drools documentation
>>>
>>> Example 6.36. or with binding
>>>
>>> pensioner : (or Person( sex == "f", age > 60 )
>>>                 Person( sex == "m", age > 65 ) )
>>>
>>> Explicit binding on each Pattern is also allowed.
>>>
>>> (or pensioner : Person( sex == "f", age > 60 )
>>>     pensioner : Person( sex == "m", age > 65 ) )
>>>
>>>
>>> but trying to get this to work resolves in:
>>>
>>> [60,8]: unknown:60:8 Unexpected token 'or'[62,8]: unknown:62:8
>>> mismatched token: [@639,2279:2291='Person',<7>,62:8]; expecting type
>>> RIGHT_PAREN[62,81]: unknown:62:81 mismatched token:
>>> [@656,2352:2352=')',<12>,62:81]; expecting type THEN
>>>
>>> Any ideas (using Drools 4.0.4)?
>>>
>>> Cheers
>>>
>>> Markus
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>       
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>     
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080205/54a4ae83/attachment.html 


More information about the rules-users mailing list