Почему я не могу использовать indexOf () для поиска индекса определенного объекта в Списке в when
?Вот пример.После того как я закомментировал list.indexOf($o) > 0
, правило выполняется, и индекс показывает правильное значение в секции then
.
declare Seq
list: List
end
rule "initSeq"
when
$p: ObjectWrapper (
...
)
$list: List () from collect (ObjectWrapper (...))
not initSeq (....)
then
Seq w = new Seq ();
w.setList($list);
end
rule "doSeq"
when:
$o: ObjectWrapper (
...
)
$rr: Seq (
...
list.indexOf($o) > 0
)
then:
DroolsLogger.debug ("index: " + $rr.getList().indexOf($o));
end