-
Bug
-
Resolution: Done
-
Critical
-
6.0.1.Final
-
None
-
JDK 6, MVEL as default, with strict-mode set to false with file META-INF/drools.default.packagebuilder.conf with following entries
drools.dialect.default = mvel
drools.dialect.java = org.drools.compiler.rule.builder.dialect.java.JavaDialectConfiguration
drools.dialect.java.compiler = ECLIPSEdrools.dialect.mvel = org.drools.compiler.rule.builder.dialect.mvel.MVELDialectConfiguration
drools.dialect.mvel.strict = falseJDK 6, MVEL as default, with strict-mode set to false with file META-INF/drools.default.packagebuilder.conf with following entries drools.dialect.default = mvel drools.dialect.java = org.drools.compiler.rule.builder.dialect.java.JavaDialectConfiguration drools.dialect.java.compiler = ECLIPSE drools.dialect.mvel = org.drools.compiler.rule.builder.dialect.mvel.MVELDialectConfiguration drools.dialect.mvel.strict = false
Even after setting MVEL strict mode to false, condition part of drools works using strict mode and can't work with Inherited getters of HashMap (Breaks lot of working rules from 5.4)
Error: [Error: unable to resolve method using strict-mode: defaultpkg.Test.Price()]
[Near :
]
...
t: HashMap(
Price < 11
)
..
Does work but
import java.util.HashMap;
declare HashMap
end
declare Test extends HashMap
end
t: Test(
Price<100
)
doesn't work (please see full rules in steps to reproduce)
Even condition
this["OtherPrices"]["OldPrice"] < 9
does work for Map but not for inherited Test class
(applicable but not included in sample code to reproduce issue, added drl for this as attachment)