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

    • Bug Report
    • Resolution: Fixed
    • L3 - Default
    • 7.11.0, 7.11.0-alpha5
    • 7.10.0, 7.11.0-alpha3
    • dmn-engine, engine
    • 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.

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Salesforce