У меня есть объект Customer. Объект клиента состоит из списка объектов запаса, а запас состоит из списка котировок и внутренней цитаты, это поле называется статусом. Вот мой объектный граф.Итерация через список перечня объектов
class Customer{
List<Stock> stocks;
//getter and setters
}
class Stock{
List<Quote> quotes;
//getter and setters
}
class Quote{
String status;
//getter and setters
}
Теперь мне нужно написать правило в DRL, чтобы проверить, если статус «инициировать» в любом из списка цитатой объекта в акции, то все остальные значения для состояния котировок во всех акций для клиента, как предполагается, быть только «инициатором».
Значение, если статус «инициирован», тогда только инициирование является действительным значением для всех котировок для всех акций для клиента. Это только для статуса «инициировать».
Я потратил целый день, чтобы написать правило, но безуспешно. Я могу передать весь объект Customer только в механизм правил. Может ли кто-нибудь помочь?
Мы используем диалект mvel. Делает, если и еще работает внутри действия ??? – user2997551
Диалект «mvel» нарушен во многих версиях Drools, хотя многое сделано для улучшения ситуации. Используйте «диалект» java »в этом правиле, чтобы вернуться к упорядоченной компиляции. Или используйте статический метод Java для проверки этого свойства, как это делает накопитель. Или реализуйте заказное накопление, как описано в документации Drools. – laune