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

In constraints fail to compile if negated or inside a forall pattern

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • 7.31.0.Final
    • core engine
    • None
    • 2020 Week 01-03 (from Dec 30)
    • Hide

      run attached reproducer with:

      mvn clean test
      
      Show
      run attached reproducer with: mvn clean test
    • NEW
    • NEW

    Description

      It appears that the KieBuilder fails to compile the following pattern:

          Pojo(!(x in (1,2,3)))
      

      returning the following error:

          Error Messages:
          Message [id=1, kieBase=defaultKieBase, level=ERROR, path=rules.drl, line=4, column=0
             text=Unable to Analyse Expression !(x in (1,2,3)):
          [Error: unexpected token: ,2]
          [Near : {... !(x in (1,2,3)) ....}]
      

      Furthermore, as of Drools 7.29.0.Final, the following form will also fail to compile:

          forall(Pojo(y==42, x in (1,2,3)))
      

      with the following error:

          Error Messages:
          Message [id=1, kieBase=defaultKieBase, level=ERROR, path=rules.drl, line=4, column=0
             text=Unable to Analyse Expression !(y==42) || !(x in (1,2,3)):
          [Error: unexpected token: ,2]
          [Near : {... !(y==42) || !(x in (1,2,3)) ....}]
      

      The latter is likely a consequence of the negation introduced by DROOLS-4632, DROOLS-4633

      Attachments

        Issue Links

          Activity

            People

              mfusco@redhat.com Mario Fusco
              mcasalino Matteo Casalino (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: