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

Issue in FEEL engine when variable contains "some" in the name

    XMLWordPrintable

Details

    • Bug Report
    • Resolution: Unresolved
    • L3 - Default
    • None
    • None
    • dmn-engine

    Description

      What are the steps to reproduce your problem?

      • Use Camunda 7.13 and Modeler 4.0
      • Create a sample DMN which takes "some" as an input variable name.
        [Also attached a sample project SUPPORT-8021_TestCase.zip . Please refer to TestVariableNameSome.class for quick reference.]
      • Deploy and execute the DMN
      • Got following error
      Exception in thread "main" org.camunda.bpm.dmn.feel.impl.FeelException: FEEL/SCALA-01008 Error while evaluating expression: failed to parse expression 'some.test': [1.5] error: identifier expected but '.' found
      
      some.test
          ^
      	at org.camunda.bpm.dmn.feel.impl.scala.ScalaFeelLogger.evaluationException(ScalaFeelLogger.java:77)
      	at org.camunda.bpm.dmn.feel.impl.scala.ScalaFeelEngine.evaluateSimpleExpression(ScalaFeelEngine.java:82)
      	at org.camunda.bpm.dmn.engine.impl.evaluation.ExpressionEvaluationHandler.evaluateFeelSimpleExpression(ExpressionEvaluationHandler.java:130)
      	at org.camunda.bpm.dmn.engine.impl.evaluation.ExpressionEvaluationHandler.evaluateExpression(ExpressionEvaluationHandler.java:59)
      	at org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler.evaluateInputExpression(DecisionTableEvaluationHandler.java:193)
      	at org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler.evaluateInput(DecisionTableEvaluationHandler.java:122)
      	at org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler.evaluateDecisionTable(DecisionTableEvaluationHandler.java:104)
      	at org.camunda.bpm.dmn.engine.impl.evaluation.DecisionTableEvaluationHandler.evaluate(DecisionTableEvaluationHandler.java:81)
      	at org.camunda.bpm.dmn.engine.impl.DefaultDmnDecisionContext.evaluateDecision(DefaultDmnDecisionContext.java:85)
      	at org.camunda.bpm.dmn.engine.impl.DefaultDmnEngine.evaluateDecisionTable(DefaultDmnEngine.java:115)
      	at org.camunda.bpm.dmn.engine.impl.DefaultDmnEngine.evaluateDecisionTable(DefaultDmnEngine.java:105)
      	at org.camunda.bpm.example.drg.TestVariableNameSome.parseAndEvaluateDecision(TestVariableNameSome.java:69)
      	at org.camunda.bpm.example.drg.TestVariableNameSome.main(TestVariableNameSome.java:39)
      

      Note: Just to compare the result, there is another class TestVariableNameXYZ in which if input variable xyz is passed, then it works without any issue.

      What is the problem?
      FEEL engine gives an exception while parsing input variable if it contains "some" in the name.

      What would be the expected behavior:

      • FEEL engine should not give an exception with variable name "some".
      • I should be able to get output value from DMN.

      Hints (optional):
      This issue is reproducible when name of input variable:

      • starts with "some"
      • ends with some
      • contains "some" in the middle

      For example: "someThingElse", "xyzsome" and "some".

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              Unassigned Unassigned
              garima.yadav Garima Yadav
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Salesforce