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

nested accessors with Sets - "not contains" is not a valid operator for MVEL

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate Issue
    • Affects Version/s: 4.0.0.GA
    • Fix Version/s: 4.0.1
    • Component/s: drools-compiler
    • Labels:
      None

      Description

      Following does not work:

      rule StateMatch
      when
      $ca:CandidateAssociation(nurseDetails.stateLicensures excludes patientDetails.state )
      then
      retract( $ca );
      end

      public class CandidateAssociation {
      private PatientDetails patientDetails;
      private NurseDetails nurseDetails;
      private int overlapHours;

      public CandidateAssociation( PatientDetails patientDetails, NurseDetails nurseDetails)

      { super(); this.patientDetails = patientDetails; this.nurseDetails = nurseDetails; overlapHours = participantDetails.getNumberOverlapHourCnt(nurseDetails); }

      [...]
      }

      public class NurseDetails

      { private Set stateLicensures = new HashSet(); [...] }

      public class PatientDetails

      { private String state; [...] }

      Edson suggested that the problem is that "not contains" is not a valid operator for MVEL.

      Also Noticed that the following workaround did not work:

      rule State
      dialect "mvel"
      when
      $ca:CandidateAssociation( eval ( ! nurseDetails.stateLicensures.contains( patientDetails.state ) ) )
      then
      retract( $ca );
      end

      This produced this Exception:
      org.drools.rule.InvalidRulePackage: Unable to determine the used declarations : [Rule name=State, agendaGroup=MAIN, salience=0, no-loop=false]
      at org.drools.rule.Package.checkValidity(Package.java:408)
      at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:288)
      at [...]

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tirelli Edson Tirelli
                Reporter:
                mgmcnally Mark McNally
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: