-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
7.66.0.Final
-
None
-
NEW
-
NEW
@Test
public void testExtends() {
String str =
"package mypkg;\n" +
"import " + Person.class.getCanonicalName() + ";" +
"rule R1 when\n" +
" $p1 : Person($address : address)\n" +
"then\n" +
"end\n" +
"rule R2 extends R1 when\n" +
" $p2 : Person(this != $p1, $address.city == address.city)\n" +
"then\n" +
" insert(\"Done\");\n" +
"end\n" +
"rule R3 when\n" +
" $p : String(this == \"Done\")\n" +
"then\n" +
"end\n";
Person p1 = new Person("John");
p1.setAddress(new Address("A1"));
Person p2 = new Person("Paul");
p2.setAddress(new Address("A1"));
runRule(str, p1, p2);
AnalysisModel analysisModel = new ModelBuilder().build(str);
ModelToGraphConverter converter = new ModelToGraphConverter();
Graph graph = converter.toGraph(analysisModel);
assertLink(graph, "mypkg.R1", "mypkg.R2");
assertLink(graph, "mypkg.R2", "mypkg.R3", ReactivityType.POSITIVE);
}
fails with
java.lang.RuntimeException: Unable to get KieModule, Errors Existed: Error Messages: Message [id=1, kieBase=defaultKieBase, level=ERROR, path=r0.drl, line=-1, column=0 text=Unable to Analyse Expression $address.city == address.city:] --- Warning Messages: --- Info Messages: at org.drools.compiler.kie.builder.impl.KieBuilderImpl.getKieModule(KieBuilderImpl.java:520) at org.drools.compiler.kie.builder.impl.KieBuilderImpl.getKieModule(KieBuilderImpl.java:526) at org.drools.compiler.kie.builder.impl.KieBuilderImpl.getKieModule(KieBuilderImpl.java:501) at org.drools.impact.analysis.parser.ModelBuilder.build(ModelBuilder.java:32) at org.drools.impact.analysis.integrationtests.DrlSyntaxTest.testExtends(DrlSyntaxTest.java:191)