流口水规则中是否存在多个布尔条件?

Yat*_*tin 2 java rule-engine drools

我创建了一个“何时”条件如下的规则:

when
    $map: Map(this["key1"].equals("value1")) and Map(this["key2"].equals("value2"))  
then
...
Run Code Online (Sandbox Code Playgroud)

以上条件正常。现在如何在规则中添加多个布尔条件?例如。上面的规则可以概括为:a和b,因此,如果我想创建一个规则:(a和b)或c,那么实际的drl语法是什么。我是流口水的新手,所以请帮助我介绍规则(a和b)或c的语法。

我确实创建了一个语法

when
    $map: Reindexing((Map(this["key1"].equals("value1")) and Map(this["key2"].equals("value2"))) or  Map(this["key3"].equals("value3"))) 
then
Run Code Online (Sandbox Code Playgroud)

但是我有以下异常

错误消息:消息[id = 1,level = ERROR,path = mapIterationRules.drl,line = 13,column = 0,text = [ERR 101]行13:21在规则“ first rule”中输入'('处没有可行的选择]

谢谢

Yat*_*tin 5

找出上述规则的语法。谢谢劳恩和托尼的帮助。

这是语法

when
    $map: Map( this["data1"].equals("dataOutput1") ) || Map( this["data2"].equals("dataOutput2") && this["data3"].equals("dataOutput3") )
Run Code Online (Sandbox Code Playgroud)

如果在同一括号内,则无需再次键入类名。