Возможно ли в правиле слюни проверить поля объекта с помощью других правил? - PullRequest
0 голосов
/ 22 января 2019

Сценарий таков:

У меня есть объект X и Y:

class X{
   String name;

//setters and getters, etc.
}
class Y{
   String id;
   String name;
   List<X> listOfX;
//setters and getters, etc.
}

И на сервере Drools (версия 6.4). Допустим, у нас есть 2 правила:

rule "ruleX"
when
    xVariable: X(name==null)
then
    System.out.println( "X name is null" );
end


rule "ruleY"
when
    yVariable: Y(id==null)
then
    System.out.println( "Y id is null" );
end

Что я хотел бы сделать, это отправить на сервер только объект Y и проверить поле «listOfX» с помощью «ruleX».

Можно ли сказать что-то в правиле Y, например:

rule "ruleY"
when
    yVariable: Y(id==null)
then
   ///validate here with "ruleX" each object of the "listOfX"
    System.out.println( "Y id is null" );
end

1 Ответ

0 голосов
/ 22 января 2019

Я думаю, что вам нужно использовать условный элемент "from".См. Документацию здесь [1].

[1] https://docs.jboss.org/drools/release/7.16.0.Final/drools-docs/html_single/index.html#_conditional_element_from

...