我有一个学生班,它有相关部门的列表。
public class Student {
private String name;
private String desc;
private List<Department> department = new ArrayList<Department>();
}
public class Department {
private String name;
private String desc;
}
我正在尝试用Drools编写规则。规则就像-如果一个学生属于某些部门,那么就采取行动。我无法找出正确的方法来做这件事。我在下面写的一个不起作用。我知道如果它的字符串列表有效。有没有办法在自定义对象上做包含。
rule "Language"
when
$student : Student(department contains "English" && department contains "French")
then
System.out.println("Belongs to Language");
终止
调用规则的代码
Student student = new Student();
student.setName("John");
Department a1 = new Department();
a1.setName("English");
student.addDepartment(a1);
Department a2 = new Department();
a2.setName("French");
student.addDepartment(a2);
System.out.println("Student :" + student);
ksession.insert(student);
ksession.fireAllRules();
我正在使用Drools 6.2版本。
在列表中查找字符串
rule "Language"
when
$student: Student( $dep: department )
Department( name == "French" || == "English",
this memberOf $dep )
then
System.out.println("Belongs to Language");
end
编辑:您还需要插入部门对象和事实。
如果学生必须掌握两种语言,请使用
rule "Language"
when
$student: Student( $dep: department )
Department( name == "French", this memberOf $dep )
Department( name == "English", this memberOf $dep )
then
System.out.println("Belongs to Language");
end
我正在努力找出如何使用Java流从对象值等于x的自定义对象列表中收集自定义对象。 这没有编译,但我不认为我离得很远--有人能指出我在哪里出错吗?
我使用Kie Workbench学习口水。我的输入将是opportunityProduct类中的名称,我希望在Opportunity类中的Ip中得到输出。在规则引擎执行之后,我在输出中只得到null值。 Pojo结构: 输入: 输出: 决策表: Drl: 我无法确定我的输入是否错误或决策表中的条件是否错误。
我是morphia的新手,想知道是否可以在文档中嵌入自定义对象列表,同时拥有自定义名称。 例如,
我有一个的列表 其中是一个模型类,如下所示 null
我有两个事实,分别命名为OptionalCover和OptionalPremiumComponent,其中有OptionalPremiumComponent的参考。这就是我在工作记忆中插入的内容。 我在drools中创建了以下规则 问题是,插入父对象时没有触发上述规则。我还需要做些什么来实现这种行为吗?是否支持? 谢谢你。