Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-7028

a NPE is thrown when decision table has FIRST hit policy and result is null

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • 7.67.0.Final
    • dmn engine
    • None
    • 2022 Week 23-25 (from Jun 6), 2022 Week 26-28 (from Jun 27), 2022 Week 29-31 (from Jul 18)
    • Hide
      1. Create decision table with FIRST hit policy and single column result
      2. Add decision row with "null" result
      3. Evaluate the decision table so the decision row with "null" result is matched
      4. NullPointerException is thrown

      ```

      java.lang.NullPointerException: null
          at java.base/java.util.Objects.requireNonNull(Objects.java:208)
          at java.base/java.util.Optional.of(Optional.java:113)
          at java.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:194)
          at java.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:191)
          at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
          at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
          at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
          at org.kie.dmn.feel.runtime.decisiontables.DecisionTableImpl.evaluateResults(DecisionTableImpl.java:303)
          at org.kie.dmn.feel.runtime.decisiontables.DecisionTableImpl.evaluate(DecisionTableImpl.java:102)
          at org.kie.dmn.feel.runtime.functions.DTInvokerFunction.invoke(DTInvokerFunction.java:50)
          at org.kie.dmn.core.ast.DMNDTExpressionEvaluator.evaluate(DMNDTExpressionEvaluator.java:95)
          at org.kie.dmn.core.ast.DMNContextEvaluator.evaluate(DMNContextEvaluator.java:97)
          at org.kie.dmn.core.impl.DMNRuntimeImpl.evaluateDecision(DMNRuntimeImpl.java:672)
          at org.kie.dmn.core.impl.DMNRuntimeImpl.evaluateAll(DMNRuntimeImpl.java:116)

      ```

      Show
      Create decision table with FIRST hit policy and single column result Add decision row with "null" result Evaluate the decision table so the decision row with "null" result is matched NullPointerException is thrown ``` java.lang.NullPointerException: null     at java.base/java.util.Objects.requireNonNull(Objects.java:208)     at java.base/java.util.Optional.of(Optional.java:113)     at java.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:194)     at java.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:191)     at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)     at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)     at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)     at org.kie.dmn.feel.runtime.decisiontables.DecisionTableImpl.evaluateResults(DecisionTableImpl.java:303)     at org.kie.dmn.feel.runtime.decisiontables.DecisionTableImpl.evaluate(DecisionTableImpl.java:102)     at org.kie.dmn.feel.runtime.functions.DTInvokerFunction.invoke(DTInvokerFunction.java:50)     at org.kie.dmn.core.ast.DMNDTExpressionEvaluator.evaluate(DMNDTExpressionEvaluator.java:95)     at org.kie.dmn.core.ast.DMNContextEvaluator.evaluate(DMNContextEvaluator.java:97)     at org.kie.dmn.core.impl.DMNRuntimeImpl.evaluateDecision(DMNRuntimeImpl.java:672)     at org.kie.dmn.core.impl.DMNRuntimeImpl.evaluateAll(DMNRuntimeImpl.java:116) ```
    • NEW
    • NEW
    • ---
    • ---

    Description

      A NullPointerException exception is thrown when decision table is configured to use FIRST hit policy and return result is "null".

       

       

      Attachments

        Activity

          People

            mmortari@redhat.com Matteo Mortari
            vladimir.piyanov@gmail.com Vladimir Piyanov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: