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

Rule, import with wildcards and variable / patternBinding

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Hide

      package de.pelle7.testrules.impl.drools

      import de.pelle7.testpackage.event.*

      rule "Test rule 1"
      dialect "java"
      salience 50
      when
      myEvent : MyEvent( )
      myEvent2 : MyEvent( data == myEvent.data ) <-- here the Exception is thrown
      then
      System.err.println("Output");
      end

      Show
      package de.pelle7.testrules.impl.drools import de.pelle7.testpackage.event.* rule "Test rule 1" dialect "java" salience 50 when myEvent : MyEvent( ) myEvent2 : MyEvent( data == myEvent.data ) <-- here the Exception is thrown then System.err.println("Output"); end

    Description

      I got the exception "java.lang.NoClassDefFoundError: de/pelle7/testpackage/event/myEvent (wrong name: de/pelle7/testpackage/event/MyEvent)" while adding my resources.
      I removed the import wildcards and the error disappeard.

      Finally I found the problem:
      I used the patternBinding 'myEvent' and there is a class called 'MyEvent' and I used an wildcard import where the class 'MyEvent' is located.

      My solution is that I replaced all my pattern bindings with the suffix '$' which is more convenient.

      Perhaps it would be nice to produce an rule-compilation error. with a line notice.

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            pelle7 Per Sterner (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty