Логическое значение в разделе когда используется Drools 7.21 - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь перенести Drools с версии 5.2 на 7.21. Я перестроил код в KIE API и все выглядело нормально, но теперь у меня проблема с файлами DRL. В разделе «когда» в файле Drools мне нужно использовать выражение «закончено! = Истина». В v5.2 все работало нормально, а в v7.21 нет ...

Мой код:

rule"..."
  when
    element : Operation( person.id == $person.getId(), finished != true )
  then
    (...)
  end

Я сделал несколько тестов, и результаты странные:

  • Закончено! = True -> это не работает, и все объекты с "готово == true" тоже в результатах
  • закончено == false -> как указано выше
  • закончено -> все работает нормально, и в результатах есть только объекты с "Finished == true"
  • закончено == верно -> как указано выше

Мне нужно использовать закончено! = True или что-то подобное. Как я могу это исправить? Это ошибка в новой версии Drools?

1 Ответ

0 голосов
/ 24 мая 2019

Я нашел обходной путь, который работает для меня. Если у кого-то есть лучший способ сделать это, пожалуйста, поделитесь им здесь.

rule"..."
  when
    $booleanTrue : Boolean(booleanValue == true) from 1 == 1
    element : Operation( person.id == $person.getId(), finished != $booleanTrue )
  then
    (...)
  end
...