-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.10.0, 7.11.0-alpha3
-
None
In DMN JUEL expression nested property is shadowed by the context variable with the same name (if such a variable is present).
For example, expression ${a.b} with evaluation context
{ "a" = {"b" = "INNER_B"},
"b"="B_FROM_CONTEXT"}
produces "B_FROM_CONTEXT" instead of "INNER_B".
As another example of this bug, see https://forum.camunda.org/t/error-in-variable-resolution-juel/1703
The problem is caused by the bug in the VariableContextElResolver implementation - it always tries to resolve the 'property' from variable context, regardless the 'base' (that represents property's container) is present or not.
The problem is present in both standalone version of DMN engine and BPM platform version that contains different versions of VariableContextElResolver (with the same bug).
The same VariableContextElResolver bug is the cause of CAM-5520. In this case VariableContextElResolver tries to interpret property representing index (type Long) as context variable name (String), resulting in ClassCastException.