in drools-benchmarks-parent/drools-benchmarks-reliability/src/main/java/org/drools/benchmarks/reliability/FireAndAlarmBenchmark.java [107:133]
public int test() {
// phase 1
List<Room> rooms = new ArrayList<Room>();
List<FactHandle> fireFactHandles = new ArrayList<FactHandle>();
for (int i = 0; i < factsNr; i++) {
rooms.add(new Room("room_" + i));
kieSession.insert(rooms.get(i));
fireFactHandles.add(kieSession.insert(new Fire(rooms.get(i))));
}
kieSession.fireAllRules();
// phase 2
Sprinkler sprinkler;
for (int i = 0; i < factsNr; i++) {
sprinkler = new Sprinkler(rooms.get(i));
kieSession.insert(sprinkler);
}
kieSession.fireAllRules();
// phase 3
for (int i = 0; i < factsNr; i++) {
kieSession.delete(fireFactHandles.get(i));
}
return kieSession.fireAllRules();
}