В настоящее время я пишу пример на Drools, в котором я пытаюсь проверить состояние сустава, основанное на меньшем и равном оператору.Drool Условие не соответствует
My Drools .drl файл:
//created on: May 7, 2015
package inlife.rules.controller
//list any import classes here.
import inlife.rules.model.StudentRuleBean;
//declare any global variables here
rule "Check if Student age is below limit"
when
//conditions
o: StudentRuleBean (studentName == "Peter" && age < 5 && age > 18)
then
//actions
o.setStudentEligible("false");
end
rule "Check for Range"
when
//conditions
o: StudentRuleBean (studentName == "Peter" && age > 5 && age <= 18)
then
//actions
o.setStudentEligible("true");
end
Сейчас в вышеприведенном .drl FLE я пытаюсь проверить, если имя студента Питера и его возраст больше, чем пять и менее 18, чем он имеет право перейти в школу еще не он.
Но мое состояние не удовлетворено. Наверное, я делаю что-то не так в моем файле слюни.
Ниже мой Java Bean Class
public class StudentRuleBean {
private String studentName;
private double age;
private String studentEligible;
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public double getAge() {
return age;
}
public void setAge(double age) {
this.age = age;
}
public String getStudentEligible() {
return studentEligible;
}
public void setStudentEligible(String studentEligible) {
this.studentEligible = studentEligible;
}
}
плохо застрял .. Нужна помощь по этому вопросу.
С нетерпением жду ответа ypur. Заранее спасибо.
Вы уверены, что правила компилируются успешно? Кроме того, первое правило не может быть активировано, поскольку условие не может быть правдой: возраст < 5 && age > 18 ... он не может быть меньше 5 И больше 18. Возможно, это должно быть studentName == «Peter && (возраст <5 || age > 18) или что-то в этом роде – Sebastian
Да, правила успешно скомпилированы Да, первое правило не активируется, но второе правило должно срабатывать. Правильно? – Roy
на первый взгляд, по крайней мере, я не вижу проблемы с самим правилом. конечно, только активируется, если есть вставленный факт, который соответствует правилу. Не могли бы вы добавить дополнительный код того, как вы вызываете сессию слюни и как вы устанавливаете факты (и создаете факты)? – Sebastian