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