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

Executable model isn't generated correctly for from clause in the form func(x)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • None
    • core engine
    • None
    • NEW
    • NEW

    Description

      Executable model is generated correctly when the from clause is in the form x.func() but not when it is func( x ). See the reproducer below

          public static Integer getLength(String s) {
              return s.length();
          }
      
          @Test
          public void testFromExternalFunction() {
              final String str =
                      "import " + FromTest.class.getCanonicalName() + ";\n" +
                      "global java.util.List list\n" +
                      "\n" +
                      "rule R when\n" +
                      "  $s : String()\n" +
                      "  $i : Integer( this > 10 ) from FromTest.getLength($s)\n" +
                      "then\n" +
                      "  list.add( \"received long message: \" + $s);\n" +
                      "end\n";
      
              KieSession ksession = getKieSession( str );
      
              final List<String> list = new ArrayList<>();
              ksession.setGlobal( "list", list );
      
              ksession.insert("Hello World!");
              ksession.fireAllRules();
      
              Assertions.assertThat(list).containsExactlyInAnyOrder("received long message: Hello World!");
          }
      

      Attachments

        Issue Links

          Activity

            People

              lmolteni@redhat.com Luca Molteni
              mfusco@redhat.com Mario Fusco
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: