yurloc opened a new issue, #5716:
URL: https://github.com/apache/incubator-kie-drools/issues/5716
## Parent issue
- #5678
## Failing tests
-
`org.drools.model.codegen.execmodel.NamedConsequencesTest#testIfElseWithMvelAccessor`
## Notes
- Both `STANDARD_FROM_DRL` and `PATTERN_DSL`.
## Rule code snippet
```
rule R1 dialect "mvel" when
$a: Cheese ( type == "stilton" )
if ( $a.price > Cheese.BASE_PRICE ) do[t1] else do[t2]
```
## Error output
```
### parse : ANTLR4_PARSER_ENABLED = true
line 6:4 mismatched input 'if' expecting {'not', 'in', 'matches',
'memberOf', 'after', 'before', 'coincides', 'during', 'includes', 'finishes',
'finishedby', 'meets', 'metby', 'overlaps', 'overlappedby', 'starts',
'startedby', ':=', 'instanceof', ')', '[', ',', '.', '=', '>', '<', '?', '==',
'<=', '>=', '!=', '&&', '||', '++', '--', '+', '-', '*', '/', '&', '|', '^',
'%', '+=', '-=', '*=', '/=', '&=', '|=', '^=', '%=', '<<=', '>>=', '>>>=', '::'}
21:45:11.061 [main] ERROR o.d.d.parser.antlr4.DRLParserWrapper.parse:77 -
Exception while creating PackageDescr
org.drools.drl.parser.antlr4.DRLParserException: rhs has to start with
'then' : rhs = if ( $a.price > Cheese.BASE_PRICE ) do[t1] else do[t2]
$b: Cheese ( type == "cheddar" )
then
results.add( $b.getType() );
then[t1]
results.add( $a.getType() );
then[t2]
results.add( $a.getType().toUpperCase() );
at
org.drools.drl.parser.antlr4.ParserStringUtils.trimThen(ParserStringUtils.java:78)
at
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitRuledef(DRLVisitorImpl.java:266)
at
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitRuledef(DRLVisitorImpl.java:74)
at
org.drools.drl.parser.antlr4.DRLParser$RuledefContext.accept(DRLParser.java:1221)
at
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at
org.drools.drl.parser.antlr4.DRLParserBaseVisitor.visitDrlStatementdef(DRLParserBaseVisitor.java:27)
at
org.drools.drl.parser.antlr4.DRLParser$DrlStatementdefContext.accept(DRLParser.java:405)
at
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDescrChildren(DRLVisitorImpl.java:795)
at
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitCompilationUnit(DRLVisitorImpl.java:91)
at
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitCompilationUnit(DRLVisitorImpl.java:74)
at
org.drools.drl.parser.antlr4.DRLParser$CompilationUnitContext.accept(DRLParser.java:318)
at
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
at
org.drools.drl.parser.antlr4.DRLParserHelper.compilationUnitContext2PackageDescr(DRLParserHelper.java:87)
at
org.drools.drl.parser.antlr4.DRLParserWrapper.parse(DRLParserWrapper.java:75)
at
org.drools.drl.parser.antlr4.DRLParserWrapper.parse(DRLParserWrapper.java:55)
at org.drools.drl.parser.DrlParser.lambda$parse$2(DrlParser.java:189)
at
org.drools.drl.parser.DrlParser.compileWithAntlr4Parser(DrlParser.java:202)
at org.drools.drl.parser.DrlParser.parse(DrlParser.java:189)
at org.drools.drl.parser.DrlParser.parse(DrlParser.java:177)
at org.drools.drl.parser.DrlParser.parse(DrlParser.java:166)
at
org.drools.compiler.builder.impl.resources.DrlResourceHandler.process(DrlResourceHandler.java:55)
at
org.drools.compiler.builder.impl.PackageDescrBuilder.buildResource(PackageDescrBuilder.java:73)
at
org.drools.compiler.builder.impl.PackageDescrBuilder.build(PackageDescrBuilder.java:51)
at
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackageDescr(CompositeKnowledgeBuilderImpl.java:173)
at
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:116)
at
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:109)
at
org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:274)
at
org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:220)
at
org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:84)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:285)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:251)
at
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:208)
at
org.drools.model.codegen.execmodel.BaseModelTest.createKieBuilder(BaseModelTest.java:151)
at
org.drools.model.codegen.execmodel.BaseModelTest.createKieBuilder(BaseModelTest.java:132)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieContainer(BaseModelTest.java:121)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieContainer(BaseModelTest.java:114)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieSession(BaseModelTest.java:110)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieSession(BaseModelTest.java:106)
at
org.drools.model.codegen.execmodel.NamedConsequencesTest.testIfElseWithMvelAccessor(NamedConsequencesTest.java:221)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at
org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at
org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
at
org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
at
org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
at
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
at
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
at
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
at
org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
at
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
at
com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
21:45:11.062 [main] ERROR
o.d.c.k.b.impl.AbstractKieProject.buildKnowledgePackages:280 - Unable to build
KieBaseModel:defaultKieBase
[6,4]: mismatched input 'if' expecting {'not', 'in', 'matches', 'memberOf',
'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby',
'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', ':=',
'instanceof', ')', '[', ',', '.', '=', '>', '<', '?', '==', '<=', '>=', '!=',
'&&', '||', '++', '--', '+', '-', '*', '/', '&', '|', '^', '%', '+=', '-=',
'*=', '/=', '&=', '|=', '^=', '%=', '<<=', '>>=', '>>>=', '::'}
[0,0]:
[0,0]: Parser returned a null Package
java.lang.AssertionError: [Message [id=1, kieBase=defaultKieBase,
level=ERROR, path=r0.drl, line=6, column=0
text=mismatched input 'if' expecting {'not', 'in', 'matches', 'memberOf',
'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby',
'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', ':=',
'instanceof', ')', '[', ',', '.', '=', '>', '<', '?', '==', '<=', '>=', '!=',
'&&', '||', '++', '--', '+', '-', '*', '/', '&', '|', '^', '%', '+=', '-=',
'*=', '/=', '&=', '|=', '^=', '%=', '<<=', '>>=', '>>>=', '::'}], Message
[id=2, kieBase=defaultKieBase, level=ERROR, path=r0.drl, line=0, column=0
text=], Message [id=3, kieBase=defaultKieBase, level=ERROR, path=r0.drl,
line=0, column=0
text=Parser returned a null Package]]
at
org.drools.model.codegen.execmodel.BaseModelTest.createKieBuilder(BaseModelTest.java:157)
at
org.drools.model.codegen.execmodel.BaseModelTest.createKieBuilder(BaseModelTest.java:132)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieContainer(BaseModelTest.java:121)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieContainer(BaseModelTest.java:114)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieSession(BaseModelTest.java:110)
at
org.drools.model.codegen.execmodel.BaseModelTest.getKieSession(BaseModelTest.java:106)
at
org.drools.model.codegen.execmodel.NamedConsequencesTest.testIfElseWithMvelAccessor(NamedConsequencesTest.java:221)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]