从 java 中的流口水 excel 中获取价值

capture value from drools excel in java

我有一个 java pojo class TestRule,其变量 ExpectedResultCode 具有适当的 getter 和 setter。我正在使用决定 table drools

现在我想访问 java 中的这个 ExpectedResultCode 设置值。

操作:调用 TestRule class 的 setResultCode setter 并从 excel

设置适当的参数

TestRule.java-

public class TestRule {

    public String ExpectedResultCode;

    public String getResultCode() {
        return ExpectedResultCode;
    }

    public void setResultCode(String ExpectedResultCode) {
        this.ExpectedResultCode = ExpectedResultCode;
    }
}

流口水代码:

KieContainer kieContainer = kieServices
                        .newKieContainer(kieServices.getRepository()
                                .getDefaultReleaseId());

                kieSession = kieContainer.newKieSession();
                TestRule testrule = new TestRule();
                kieSession.insert(testrule);
                System.out.println("Output of Result Code:" + testrule.getResultCode());  --> I'm getting Null Value here.
kieSession.fireAllRules();

在决定 table 中,我将操作更改为 testrule.setResultCode($param)

我想得到 "Result1" 作为输出,但我得到的是 Null 值。

在触发规则之前显示对象:

kieSession = kieContainer.newKieSession();
// create a TestRule object: ExpectedResultCode is null
TestRule testrule = new TestRule();
// insert the TestRule object: ExpectedResultCode is still null
kieSession.insert(testrule);
// display TestRule's ExpectedResultCode, which is still null
System.out.println("Output of Result Code:" + testrule.getResultCode());
// fire the rules
kieSession.fireAllRules();

触发规则后打印值

// now the object TestRule's ExpectedResultCode should have changed.
System.out.println("Output of Result Code:" + testrule.getResultCode());