Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-1204

Problem with memberOf and/or eval used in collect statement

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.0.0.GA, 4.0.1
    • Fix Version/s: 4.0.2
    • Component/s: None
    • Labels:
      None

      Description

      I'm having a problem using memberOf combined with a collect statement. My test includes 3 rules each written to output the same results (I think), but I get different results (depending on which version of Drools I use).

      The rules are:

      rule "TestMemberOf"
      salience 10
      when
      $messages: ArrayList() from collect (Message(status == 100))
      $wrappers: ArrayList() from collect (Wrapper(message memberOf $messages))
      then
      System.out.println("TestMemberOf: " + $wrappers.size());
      end

      rule "TestEval1"
      salience 9
      when
      $messages: ArrayList() from collect (Message(status == 100))
      $wrappers: ArrayList() from collect (Wrapper($message: message, eval($messages.contains($message))))
      then
      System.out.println("TestEval1: " + $wrappers.size());
      end

      rule "TestEval2"
      salience 8
      when
      $wrappers: ArrayList() from collect (Wrapper($message: message, eval($message.getStatus() == 100)))
      then
      System.out.println("TestEval2: " + $wrappers.size());
      end

      The output is (by version):

      4.0.0

      TestMemberOf: 0
      TestEval1: 0
      TestEval2: 2

      4.0.1

      TestMemberOf: 0
      TestEval1: 2
      TestEval2: 2

      4.0.2.SNAPSHOT (taken 9/18/07)

      TestMemberOf: 0
      TestEval1: 2
      TestEval2: 2

      The correct output should be:

      TestMemberOf: 2
      TestEval1: 2
      TestEval2: 2

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tirelli Edson Tirelli
                Reporter:
                crayzfishr Chris West
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: