📄 test_joinnodemodifyobject.drl
字号:
#created on: 12 juin 2006
package Number
import org.drools.IndexedNumber;
import java.util.List;
global java.util.List orderedNumbers;
global java.util.List errors;
rule "Order1"
salience 210
when
# testing join node + eval
n1 : IndexedNumber($nb1 : number);
n2 : IndexedNumber(number < $nb1);
eval(n1.getIndex() < n2.getIndex());
then
if ( ! (n1.getIndex() < n2.getIndex())) {
errors.add("{1} Shouldn't fire for: " + n1 + " " + n2);
}
end
rule "Order2"
salience 200
when
#testing pure join nodes
n1 : IndexedNumber($nb1 : number, $index : index);
n2 : IndexedNumber(number < $nb1, index > $index );
then
if ( ! (n1.getIndex() < n2.getIndex())) {
errors.add("{2} Shouldn't fire for: " + n1 + " " + n2);
}
swap(n1, n2);
modify(n1);
modify(n2);
end
rule "Debug"
salience 10
when
n : IndexedNumber($idx : index);
not IndexedNumber(index < $idx);
then
orderedNumbers.add(n);
retract(n);
end
function void swap(IndexedNumber n1, IndexedNumber n2) {
int tmp = n1.getIndex();
n1.setIndex(n2.getIndex());
n2.setIndex(tmp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -