Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-10232

In DMN JUEL expression nested property is shadowed by the context variable with the same name

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Closed
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: 7.10.0, 7.11.0-alpha3
    • Fix Version/s: 7.11.0, 7.11.0-alpha5
    • Component/s: dmn-engine, engine
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thorben.lindhauer Thorben Lindhauer
              Reporter:
              mplukas Mindaugas Plukas
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: