-
Bug
-
Resolution: Done
-
Major
-
7.8.0.GA, 7.8.1.GA, 7.9.0.GA
-
This issue does not occur on releases from RHDM 7.1.0 to 7.7.1 but occurs on releases from RHDM 7.8.0 to 7.9.0.
-
False
-
False
-
Release Notes
-
-
-
-
-
-
CR1
-
+
-
Undefined
-
-
-
2021 Week 07-09 (from Feb 15)
Executing a rule like (*1) that uses action() accumulate function in which calls a method like (*1-1) in executable model, the order of parameters passed to the method is unexpectedly changed and the parameters are not passed correctly. For example of the rule (*1-1), $a.method(map, $bList, $cList, $dList) is actually called as $a.method(map, $cList, $aList, $bList).
(*1)
package com.example.reproducer import java.util.List import java.util.Set import java.util.Map import java.util.HashMap dialect "java" rule "rule5a" when $aList : List() from collect( A() ) $bList : List() from collect( B() ) $cList : List() from collect( C() ) $dList : List() from collect( D() ) $eSet : Set() from accumulate( $a : A() from $aList, init( Map map = new HashMap(); ), action( $a.method(map, $bList, $cList, $dList); ), // ..... (*1-1) result( map.keySet() ) ) then System.out.println("***** Action of \"rule5a\" -- $aList = " + $aList + ", $bList = " + $bList + ", $cList = " + $cList + ", $dList = " + $dList + ", $eSet = " + $eSet); end
- is cloned by
-
DROOLS-5941 Order of parameters passed to the method called in accumulate function action() is unexpectedly changed in executable model.
- Closed