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

Can't use functions when MVEL dialect is set at package level

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

XMLWordPrintable

    • Workaround Exists
    • Hide

      Put functions in a separate drl, or use mvel tag on each rule. Downside is that it is back to using java for function bodies.

      Show
      Put functions in a separate drl, or use mvel tag on each rule. Downside is that it is back to using java for function bodies.

      package jboss.cloud

      dialect "mvel"

      #trying to get functions working...
      rule "something"
      when
      s: SimpleFact(id == 42, name == "michael")
      then
      System.out.println("hello");
      end

      function String doSomething() {
      return "hey";
      }

      And I get:

      java.lang.NullPointerException
      at org.drools.rule.builder.dialect.mvel.MVELDialect.compile(MVELDialect.java:510)
      at org.drools.rule.builder.dialect.mvel.MVELDialect.addFunction(MVELDialect.java:338)
      at org.drools.compiler.PackageBuilder.addFunction(PackageBuilder.java:1104)
      at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:626)
      at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:290)
      at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:488)
      at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)

            mfusco@redhat.com Mario Fusco
            michaelneale_jira Michael Neale (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

              Created:
              Updated:
              Resolved:
              Archived: