在我的drools决策表中,我想在条件单元格中保留一个getter或函数调用,以便条件将根据来自该getter或函数的值进行评估。即对于$param,我希望单元格从getter调用中评估param值。然后评估条件。
我保留了一个条件为$analytics.getProp1()<=($param)现在对于这个参数,我希望条件单元格从一个函数(getter调用)中获取值,比如$analytics.getProp2()。这样实际的计算结果将是$analytics.getProp1()<= $analytics.getProp2()
x1c 0d1x的数据
在所附的例子中,我试图从getProp 2()中获取值,并将其用于参数。正确的方法应该是什么?
2条答案
按热度按时间2sbarzqh1#
Drools将解释用于生成规则的行中的表达式。
字符串
我认为,但我手头上没有Drools解释器来确认,你甚至不需要在规则生成行中显式地包含
$analytics
位。这是因为我们有效地生成了一个具有$analytics: MyAnalytics( prop1 <= prop2 )
的DRL条件的规则,它不需要对父对象的任何引用:型
8i9zcol22#
我能够通过在每行的1个条件单元格中传递值来解决这个问题,因为我需要将条件评估为OR而不是AND。昨天解决了这个问题,我忘记发布答案。感谢您的回应在上面的场景中,我将两个条件的值都保存在行中,但是我的条件中只有一个可以同时为真,所以我需要保持其他条件值单元格为空。下面是相同的解决方案图像。
的数据
我的条件是,如果第一个条件为真,另一个条件将为假。因为我保留了两个条件的值(其中一个条件为真,而第二个条件为假),使规则为假。