首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想测试决策表中是否存在对象

我想测试决策表中是否存在对象
EN

Stack Overflow用户
提问于 2017-12-06 03:45:02
回答 2查看 346关注 0票数 0

Drools 5-我想测试是否存在BLueReport对象和SSCData对象,如果两者都存在,则分配一些默认值。我已经尝试了许多条件,但没有成功。

代码语言:javascript
复制
6-------------------------------------------------------------------------------
 7| CONDITION           | CONDITION           | ACTION                          |
 8| exists BlueReport   | exists SSCData      | sscData.setORIG_LOC_CD($param); |
 9|                     |                     | Set Location Code               |
10|                     |                     | "SLR"                           |
11-------------------------------------------------------------------------------   

..。我还尝试了这个:

代码语言:javascript
复制
     6-------------------------------------------------------------------------------
 7| CONDITION           | CONDITION           | ACTION                          |
 8| exists BlueReport   | exists SSCData      | sscData.setORIG_LOC_CD($param); |
 9| eval(true)          | eval(true)          | Set Location Code               |
10|                     |                     | "SLR"                           |
11-------------------------------------------------------------------------------

我有一个测试代理,它将Excel DT编译为DRL文件,并报告结果:

代码语言:javascript
复制
//generated from Decision Table
import mypackage.cost.model.*;
// rule values at A11, header at A6
rule "DIV 07"
    salience 65525
    when
    then
        sscData.setORIG_LOC_CD("SLR");
        sscData.setSERVICE_CD("SLIC");
        sscData.appendRuleAudit(drools.getRule().getName());
end

我已经到了这一步,但不知道在第9行中放什么:

EN

回答 2

Stack Overflow用户

发布于 2017-12-06 07:48:40

你需要一些特定的SSCData绑定到一个变量,否则你不能引用一个事实来改变它的字段。修改工作内存中的allSSCDat`:

代码语言:javascript
复制
rule x
when
  exists BlueReport()
  sscData: SSCDate()
then
    sscData.setORIG_LOC_CD("SLR");
    sscData.setSERVICE_CD("SLIC");
    sscData.appendRuleAudit(drools.getRule().getName());
end

您不能在exists之后绑定到模式,因为对于任意正数量的匹配事实,此操作只成功一次。

票数 0
EN

Stack Overflow用户

发布于 2017-12-07 06:44:42

以下是我提出的最终解决方案:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47661492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档