设置方法调用输出到Drools Workbench中的字符串



我正在使用Kie Workbench(版本7.0.0. -Final)使用指导编辑器来创建规则。我完全能够使用.DRL文件创建规则,但是与编辑器创建相同规则的问题有问题。考虑以下示例:

我已经在编辑器中创建了以下规则,该规则在"源"选项卡中转换为:

package com.myteam.orica;
import java.lang.String;
rule "Home Phone"
   dialect "java"
when
    sampleAttributes : SampleAttributes( homePhoneNumber : homePhoneNumber != null )
then
    sampleAttributes.setHomePhoneNumber( homePhoneNumber.replaceAll( "[^\d]", "" ) );
end

理想情况下,我希望它是这样的东西:

package com.myteam.orica;
import java.lang.String;
rule "Home Phone"
   dialect "java"
when
    sampleAttributes : SampleAttributes( homePhoneNumber : homePhoneNumber != null )
then
    String str = homePhoneNumber.replaceAll( "[^\d]", "" );
    sampleAttributes.setHomePhoneNumber( str );
end

基本上将方法调用的结果存储在HomePhoneNumber上的临时变量中,然后可以将其设置为我的SampleAttributes dataObject的HomephoneNumber属性的一部分,但要使用带有指导的编辑器来完成。我尝试使用全局变量,但无法在编辑器中设置它。

有人可以让我知道如何使用指导规则编辑器来实现上述?

谢谢

您可以在与"指导规则"的同一项目中编写自己的.DSL文件,资产类型'域特定语言定义',您可以使用Drools DSL来编写所需的内容。

使用"指导规则(使用DSL)",而不是仅仅是"指导规则"

在"指导规则(使用DSL)"模型选项卡中,当添加新行时,您应该能够查看您在.DSL文件中写的规则

相关内容

  • 没有找到相关文章

最新更新