Search in sources :

Example 1 with Cat

use of org.drools.mvel.compiler.Cat in project drools by kiegroup.

the class FieldAccessTest method testAccessFieldsFromSubClass.

@Test
public // unless typesafe=false is used
void testAccessFieldsFromSubClass() throws Exception {
    String rule = "";
    rule += "package org.drools.compiler;\n";
    rule += "import org.drools.mvel.compiler.Person;\n";
    rule += "import org.drools.mvel.compiler.Pet;\n";
    rule += "import org.drools.mvel.compiler.Cat;\n";
    rule += "declare Person @typesafe(false) end\n";
    rule += "rule \"Test Rule\"\n";
    rule += "when\n";
    rule += "    Person(\n";
    rule += "      pet.breed == \"Siamise\"\n";
    rule += "    )\n";
    rule += "then\n";
    rule += "    System.out.println(\"hello person\");\n";
    rule += "end";
    KieBase kbase = KieBaseUtil.getKieBaseFromKieModuleFromDrl("test", kieBaseTestConfiguration, rule);
    KieSession session = kbase.newKieSession();
    final Person person = new Person();
    person.setPet(new Cat("Mittens"));
    session.insert(person);
    session.fireAllRules();
}
Also used : KieBase(org.kie.api.KieBase) Cat(org.drools.mvel.compiler.Cat) KieSession(org.kie.api.runtime.KieSession) Person(org.drools.mvel.compiler.Person) Test(org.junit.Test)

Aggregations

Cat (org.drools.mvel.compiler.Cat)1 Person (org.drools.mvel.compiler.Person)1 Test (org.junit.Test)1 KieBase (org.kie.api.KieBase)1 KieSession (org.kie.api.runtime.KieSession)1