Building and executing a rule written in MVEL dialect like (*1) that accesses to a Map element and binds a property of the element to a variable (*1-1) in executable rule model, the bound variable is an unexpected value. This issue occurs on all releases from RHDM 7.1.0 to 7.9.0.
(*1)
package com.example.reproducer
import com.example.reproducer.Car
dialect "mvel"
rule "rule1a3"
when
$car : Car( $supplierName : suppliers["transmission"].name ) // ..... (*1-1)
then
System.out.println("***** Action of rule1a3");
System.out.println("***** $car: " + $car + ", transmission supplier name = " + $supplierName);
end
// suppliers is a {{Map<String, Supplier>}} type property of Car class