我正在使用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文件中写的规则