Я создал правило, и оно вставляет вопрос в сеанс. Если вопрос верен, он вставляет ФЛАГ, а если вопрос неверен, он удаляет вопрос и не обновляет флаг. Мне нужно проверить значение флага, прежде чем вставлять вопрос в сеанс. Я пробовал несколько способов сделать это, но не получил слюни, чтобы сделать это. Вот мои правила:
Вставка правила вопроса
rule "Threat: ATTACK_OTHER_USERS; insert question"
agenda-group "evaluate attack category"
dialect "mvel"
when
Threat(this == Threat.ATTACK_OTHER_USERS)
// $FLAGS(this == FLAGS.PUBLIC_READABLE) // i need the check here, the existing doesn't work
then
insertLogical(QRiskFactor.QRF1_S4_PUBLIC_READABLE);
end
вопрос верный
rule "Threat: Public Readable QRF_1.4 [true]"
agenda-group "evaluate attack category"
dialect "mvel"
when
$q1: QRiskFactor(this == QRiskFactor.QRF1_S4_PUBLIC_READABLE)
Application($rf : riskFactors[QRiskFactor.QRF1_S4_PUBLIC_READABLE.value], $rf!.factor == "true")
then
delete($q1);
insert(FLAGS.PUBLIC_READABLE);
end
вопрос неверен
rule "Threat: Public Readable -- QRF_1.4 [not true]"
agenda-group "evaluate attack category"
dialect "mvel"
when
$q1: QRiskFactor(this == QRiskFactor.QRF1_S4_PUBLIC_READABLE)
Application($rf : riskFactors[QRiskFactor.QRF1_S4_PUBLIC_READABLE.value], $rf!.factor != "true")
then
delete($q1);
end