]
Luca Molteni updated DROOLS-4376:
---------------------------------
Story Points: 3
Abbreviated comparison with Map fails in executable-model
---------------------------------------------------------
Key: DROOLS-4376
URL:
https://issues.jboss.org/browse/DROOLS-4376
Project: Drools
Issue Type: Bug
Components: executable model
Affects Versions: 7.24.0.Final
Reporter: Toshiya Kobayashi
Assignee: Luca Molteni
Priority: Major
Labels: support
When we write abbreviated comparison with Map,
{noformat}
import java.util.Map;
rule R1 when
Map(this['money'] >= 65 && <= 75)
then
end
{noformat}
executable-model build fails.
{noformat}
[ERROR] testMapAbbreviatedComparison[FLOW_DSL](org.drools.modelcompiler.CompilerTest)
Time elapsed: 0.258 s <<< ERROR!
java.lang.UnsupportedOperationException: Unknown expression: this["money"]
at
org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.findLeftLeafOfNameExpr(ExpressionTyper.java:875)
at
org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.findLeftLeafOfNameExpr(ExpressionTyper.java:867)
at
org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.findLeftLeafOfNameExpr(ExpressionTyper.java:867)
at
org.drools.modelcompiler.builder.generator.DrlxParseUtil.trasformHalfBinaryToBinary(DrlxParseUtil.java:331)
at
org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.toTypedExpressionRec(ExpressionTyper.java:170)
at
org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.toTypedExpression(ExpressionTyper.java:118)
at
org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.parseBinaryExpr(ConstraintParser.java:309)
at
org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.getDrlxParseResult(ConstraintParser.java:114)
at
org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.drlxParse(ConstraintParser.java:81)
at
org.drools.modelcompiler.builder.generator.visitor.pattern.PatternDSL.findAllConstraint(PatternDSL.java:124)
at
org.drools.modelcompiler.builder.generator.visitor.pattern.PatternDSL.buildPattern(PatternDSL.java:191)
at
org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit(ModelGeneratorVisitor.java:128)
at org.drools.compiler.lang.descr.PatternDescr.accept(PatternDescr.java:267)
{noformat}