use of org.drools.compiler.Bar in project drools by kiegroup.
the class MatchTest method testGetObjectsTwoPatterns.
@Test
public void testGetObjectsTwoPatterns() {
// DROOLS-1470
String str = "import org.drools.compiler.Foo\n" + "import org.drools.compiler.Bar\n" + "global java.util.List list\n" + "rule R when\n" + " $b : Bar(id == \"minivan\")\n" + " Foo(bar == $b)\n" + "then\n" + " list.addAll(kcontext.getMatch().getObjects());\n" + "end\n";
KieSession ksession = new KieHelper().addContent(str, ResourceType.DRL).build().newKieSession();
List<Object> list = new ArrayList<>();
ksession.setGlobal("list", list);
Bar roadsterType = new Bar("roadster");
ksession.insert(roadsterType);
Foo bmwZ4 = new Foo("BMW Z4", roadsterType);
ksession.insert(bmwZ4);
Foo lotusElise = new Foo("Lotus Elise", roadsterType);
ksession.insert(lotusElise);
Foo mazdaMx5 = new Foo("Mazda MX-5", roadsterType);
ksession.insert(mazdaMx5);
Bar miniVanType = new Bar("minivan");
ksession.insert(miniVanType);
Foo kieCarnival = new Foo("Kia Carnival", miniVanType);
ksession.insert(kieCarnival);
Foo renaultEspace = new Foo("Renault Espace", miniVanType);
ksession.insert(renaultEspace);
ksession.fireAllRules();
assertTrue(list.contains(miniVanType));
assertTrue(list.contains(kieCarnival));
assertTrue(list.contains(renaultEspace));
ksession.dispose();
}
Aggregations