У меня есть два факта: OptionalCover
и OptionalPremiumComponent
и OptionalCover
имеет ссылку OptionalPremiumComponent
. Так вот что я вставляю в рабочую память.Активировать правила для дочерних объектов в Drools
private static OptionalCover getOptionalCover(Double sumAssured, Double premiumRate) {
OptionalPremiumComponent premiumComponent = new OptionalPremiumComponent();
premiumComponent.setSumAssured(sumAssured);
premiumComponent.setPremiumRate(premiumRate);
OptionalCover optionalCover = new OptionalCover();
optionalCover.setPremiumComponent(premiumComponent);
return optionalCover;
}
kieSession.insert(getOptionalCover(1000000.0, 0.02));
Я создал следующее правило в Drools
import java.lang.Number;
rule "OptionalCoverCalculation"
dialect "java"
when
opc : OptionalPremiumComponent(sumAssured > 1I && sumAssured != null && premiumRate != null && premiumRate > 0.0)
then
opc.setPremium(opc.getSumAssured() * 0.001 * opc.getPremiumRate());
System.out.println("Here");
end
Проблема, указанное правило не срабатывает, когда я вставляю родительский объект. Должен ли я сделать что-нибудь еще, чтобы включить это поведение? Поддерживается ли это?
спасибо.