#java #drools
#java #пускает слюни
Вопрос:
Я хочу использовать поставщика в LHS правила для нулевой проверки. фрагмент кода :
rule "Offer for Diamond"
when
productObject: Product(**Util.isNotNull(() -> type)**)
then
productObject.setDiscount(15);
end
Где я использую поставщика в Util.IsNotNull(() -> type). Когда я запускаю этот код, я получаю сообщение об ошибке «Строка 7:41 нет жизнеспособной альтернативы при вводе ‘)’ в правиле «Предложение для алмаза»]«.
Используемая версия Drools Core и Kie Spring — 7.36.1.Final. Используемая версия Java: 1.8
Я также попытался установить свойства конфигурации KieConfiguration «drools.dialect.java.lngLevel» и drools.dialect.java.compiler.lngLevel в качестве свойств system и KieBaseConfiguration, но это не сработало.
Может кто-нибудь, пожалуйста, помогите мне.
Спасибо, Раджеш.
Комментарии:
1. Что вообще вы пытаетесь сделать в этом правиле?
type == "diamond"
уже обработает нулевую проверку.2. Спасибо за ответ. это может быть обработка нуля. но в моем случае я написал поставщика для обработки null в иерархии объектов, например.
3. Я никогда не видел, чтобы функции со стрелками работали в слюнях. По моему опыту, уровень языка влияет только на правую сторону. Попробуйте заменить функцию arrow реализацией анонимного интерфейса.
4. Спасибо за ответ. я пробовал это, но это не сработало.
5. Пробовал что? Ваш вопрос должен включать любой альтернативный код, который вы пытались обойти проблему.