[jboss-jira] [JBoss JIRA] (DROOLS-4658) Executable model compilation fails with ClassCastException when using accumulate and additional constraint

Luca Molteni (Jira) issues at jboss.org
Thu Oct 24 08:06:00 EDT 2019


    [ https://issues.jboss.org/browse/DROOLS-4658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13803926#comment-13803926 ] 

Luca Molteni commented on DROOLS-4658:
--------------------------------------

Fixed here https://github.com/kiegroup/drools/commit/a47901fa5f5519154042969affcf7d0ba402c3e5

> Executable model compilation fails with ClassCastException when using accumulate and additional constraint
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-4658
>                 URL: https://issues.jboss.org/browse/DROOLS-4658
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine, executable model
>    Affects Versions: 7.28.0.Final
>            Reporter: Martin Weiler
>            Assignee: Luca Molteni
>            Priority: Major
>              Labels: support
>
> A rule containing the following constraint:
> {noformat}
>   when
>   $customer : Customer( code == "RHT" )
>   $max1 : Number() from accumulate(
>     StockTick( company == $customer.code
>     , $time : dueDate);
>     max($time.getTime().getTime()))
> {noformat}
> fails with a ClassCastException when building with the executable model:
> {noformat}
> java.lang.ClassCastException: com.github.javaparser.ast.expr.NameExpr cannot be cast to com.github.javaparser.ast.expr.LambdaExpr
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitorPatternDSL.lambda$composeTwoBindings$4(AccumulateVisitorPatternDSL.java:67)
> 	at java.util.Optional.ifPresent(Optional.java:159)
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitorPatternDSL.composeTwoBindings(AccumulateVisitorPatternDSL.java:64)
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitorPatternDSL.lambda$null$1(AccumulateVisitorPatternDSL.java:53)
> 	at java.util.Optional.ifPresent(Optional.java:159)
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitorPatternDSL.lambda$processNewBinding$3(AccumulateVisitorPatternDSL.java:53)
> 	at java.util.Optional.ifPresent(Optional.java:159)
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitorPatternDSL.processNewBinding(AccumulateVisitorPatternDSL.java:44)
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitor.classicAccumulate(AccumulateVisitor.java:129)
> 	at org.drools.modelcompiler.builder.generator.visitor.accumulate.AccumulateVisitor.visit(AccumulateVisitor.java:107)
> 	at org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit(ModelGeneratorVisitor.java:122)
> 	at org.drools.compiler.lang.descr.PatternDescr.accept(PatternDescr.java:272)
> 	at org.drools.modelcompiler.builder.generator.visitor.AndVisitor.visit(AndVisitor.java:29)
> 	at org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit(ModelGeneratorVisitor.java:69)
> 	at org.drools.modelcompiler.builder.generator.ModelGenerator.processRule(ModelGenerator.java:176)
> 	at org.drools.modelcompiler.builder.generator.ModelGenerator.generateModel(ModelGenerator.java:156)
> 	at org.drools.modelcompiler.builder.ModelBuilderImpl.compileKnowledgePackages(ModelBuilderImpl.java:176)
> 	at org.drools.modelcompiler.builder.ModelBuilderImpl.buildRules(ModelBuilderImpl.java:121)
> 	at org.drools.modelcompiler.builder.ModelBuilderImpl.buildPackages(ModelBuilderImpl.java:71)
> 	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:108)
> {noformat}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list