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

Support static method invocation in accumulate

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • None
    • 2020 Week 04-06 (from Jan 20)
    • NEW
    • NEW

        @Test
          public void testAccumulateOfDurationBetweenDateTime() {
              final String drl =
                      "import java.time.Duration\n" +
                              "import " + Interval.class.getCanonicalName() + ";\n" +
                              "global java.util.List result; \n" +
                              "\n" +
                              "rule \"Rule1\"\n" +
                              "when\n" +
                              "    $count : Number() from accumulate(\n" +
                              "       Interval($start : start, $end : end), " +
                              "       sum(Duration.between($start, $end).toMinutes())  " +
                              "    ) " +
                              "then\n" +
                              "       result.add($count);\n" +
                              "end\n";
      
              List<Long> result = new ArrayList<>();
      
              KieSession ksession = getKieSession(drl);
              ksession.setGlobal("result", result);
      
              ksession.insert(new Interval(
                      LocalDateTime.of(2020, 1, 22, 11, 43),
                      LocalDateTime.of(2020, 1, 22, 12, 43)
              ));
      
              ksession.fireAllRules();
      
              assertEquals(60, result.iterator().next().longValue());
      
          }
      

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

                Created:
                Updated:
                Resolved: