如何在Drools模板中检查变量是否为空

时间:2017-07-10 14:27:30

标签: templates drools

我正在使用Drools模板从电子表格生成规则。 我的空单元有些问题。 有人知道如何检查单元格或变量是否为空? 这是模板:

template header
pid
department
maxAmount
storeId

package X.X.X

declare MaxAmountStore
    amount : Integer    
    storeId : String
end

template "FOO"
rule "MaxAmountStore_@{row.rowNumber}"
        when
            Product(pid == "@{pid}")
            Product(departmentId == "@{department}")
        then
            System.out.println("New MaxAmountStore: @{maxAmount} (store: @{storeId})");
            insert( new MaxAmountStore(@{maxAmount}, "@{storeId}"));
    end
end

是否可以有一个空的storeId?

1 个答案:

答案 0 :(得分:0)

我认为你需要这个:如果单元格中没有任何内容,你就不会关心departmentId值,而只想基于pid启动规则。

template "FOO"
rule "MaxAmountStore_@{row.rowNumber}"
when
    Product( pid == "@{pid}"&& 
             ("" == "@{department}" || departmentId == "@{department}") )
then
    ...
end