in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/operators/AccumulateBenchmark.java [31:58]
public void setupKieBase() {
StringBuilder sb = new StringBuilder();
sb.append("import " + Account.class.getCanonicalName() + ";\n");
int rulesNumber = rulesAndFactsNumber / 2;
if (rulesNumber == 0) {
rulesNumber = 1;
}
for (int i = 1; i <= rulesNumber; i = i + 2) {
sb.append(" rule " + RULENAME_PREFIX + i + "\n" +
" when \n " +
" $var0 : Long() from accumulate(\n" +
" $a0 : Account(balance > " + (i * 10000) + " || < " + ((i + 1) * 10000) + ", name == \"" + RULENAME_PREFIX + i + "\"), \n" +
" count( $a0 )) \n" +
" then\n " +
" end\n");
sb.append(" rule AccountBalance" + (i + 1) + "\n" +
" when \n " +
" $var0 : Long() from accumulate(\n" +
" $a0 : Account(balance >= " + ((i + 1) * 10000) + " && <= " + ((i + 2) * 10000) + ", name == \"" + RULENAME_PREFIX + (i + 1) + "\"), \n" +
" count( $a0 )) \n" +
" then\n " +
" end\n");
}
kieBase = BuildtimeUtil.createKieBaseFromDrl(sb.toString());
}