We couldn't load all Actvitity tabs. Refresh the page to try again.
If the problem persists, contact your Jira admin.
Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-14773

feel functions with null input do not evaluate to false consistently

    • Icon: Bug Report Bug Report
    • Resolution: Won't Fix
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • dmn-engine
    • None

      Environment (Required on creation):

      camunda-bpm-spring-boot-starter 7.17.0

      Description

      Feel functions that have null as a parameter evaluate to true or false depending on what the input expression evaluates to, even if the feel function does not access the input at all.

      In the attached dmn table i used the same feel expressions in multiple input columns. One input evaluates to null, and one to an integer or string. In the screenshot below from the Decision Cockpit you can see that sometimes even(null) or contains(null, Pizza) evaluate to true and sometimes not.

      Steps to reproduce (Required on creation):

      Call the attached dmn table from a process instance which has the process variables

      • someInteger = 1
      • nullInteger = null
      • someString = "Pizza"
      • nullString = null

      Observed Behavior (Required on creation):

      The following expressions evaluate to true if the input expression evaluates to null:

      • even(null)
      • contains(?, "Pizza")
      • contains(null, "Pizza")
      • contains("Pizza", null)
      • list contains(null, 4)

      The same applies to equivalent functions like starts with(), matches(),...

      Expected behavior (Required on creation):

      The following expressions evaluate to false if the input expression evaluates to null:

      • even(null)
      • contains(?, "Pizza")
      • contains(null, "Pizza")
      • contains("Pizza", null)
      • list contains(null, 4)

      The same applies to equivalent functions like starts with(), matches(),...

      Root Cause (Required on prioritization):

      Solution Ideas (Optional):

      Hints (optional):

       

        This is the controller panel for Smart Panels app

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

            feel functions with null input do not evaluate to false consistently

              • Icon: Bug Report Bug Report
              • Resolution: Won't Fix
              • Icon: L3 - Default L3 - Default
              • None
              • None
              • dmn-engine
              • None

                Environment (Required on creation):

                camunda-bpm-spring-boot-starter 7.17.0

                Description

                Feel functions that have null as a parameter evaluate to true or false depending on what the input expression evaluates to, even if the feel function does not access the input at all.

                In the attached dmn table i used the same feel expressions in multiple input columns. One input evaluates to null, and one to an integer or string. In the screenshot below from the Decision Cockpit you can see that sometimes even(null) or contains(null, Pizza) evaluate to true and sometimes not.

                Steps to reproduce (Required on creation):

                Call the attached dmn table from a process instance which has the process variables

                • someInteger = 1
                • nullInteger = null
                • someString = "Pizza"
                • nullString = null

                Observed Behavior (Required on creation):

                The following expressions evaluate to true if the input expression evaluates to null:

                • even(null)
                • contains(?, "Pizza")
                • contains(null, "Pizza")
                • contains("Pizza", null)
                • list contains(null, 4)

                The same applies to equivalent functions like starts with(), matches(),...

                Expected behavior (Required on creation):

                The following expressions evaluate to false if the input expression evaluates to null:

                • even(null)
                • contains(?, "Pizza")
                • contains(null, "Pizza")
                • contains("Pizza", null)
                • list contains(null, 4)

                The same applies to equivalent functions like starts with(), matches(),...

                Root Cause (Required on prioritization):

                Solution Ideas (Optional):

                Hints (optional):

                 

                  This is the controller panel for Smart Panels app

                        miklas.boskamp Miklas Boskamp
                        DavidZang David Zang
                        Votes:
                        0 Vote for this issue
                        Watchers:
                        3 Start watching this issue

                          Created:
                          Updated:
                          Resolved:

                              miklas.boskamp Miklas Boskamp
                              DavidZang David Zang
                              Votes:
                              0 Vote for this issue
                              Watchers:
                              3 Start watching this issue

                                Created:
                                Updated:
                                Resolved: