in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/runtime/generator/AfterBeforeEventsGenerator.java [36:84]
protected List<Object> generateMatchingFacts(final int totalNumber) {
// generate needed number of facts
final List<Object> events = new ArrayList<>();
final int nrOfFactsInInnerLoop = 4;
final int innerLoops = (config.getNumberOfRulesInDRL() / config.getNumberOfRuleTypesInDRL());
final int outerLoops = (totalNumber / (innerLoops * nrOfFactsInInnerLoop));
int id = 0;
for (int j = 0; j < outerLoops; j++) {
for (int i = 0; i < innerLoops; i++) {
currentLoop = i;
long currentTime = 0;
id = id + 1;
// rule "AfterBefore_TransactionCreatedAfterNewCustomerCreated"
NewCustomerEvent ncEvent = new NewCustomerEvent(id, 1);
ncEvent.setDescription("AfterBefore_TransactionCreatedAfterNewCustomerCreated");
EventRecord eventRecord = new EventRecord(ncEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
// advance time
currentTime = getPlaceHolderValueMillis("time1") + 2;
TransactionCreatedEvent tcEvent = new TransactionCreatedEvent(id, 1);
tcEvent.setDescription("AfterBefore_TransactionCreatedAfterNewCustomerCreated");
eventRecord = new EventRecord(tcEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
///////////////////////////////////////////////////////////////
// rule "AfterBefore_TransactionCreatedBeforeNewCustomerCreated"
currentTime = 0;
id = id + 1;
tcEvent = new TransactionCreatedEvent(id, 1);
tcEvent.setDescription("AfterBefore_TransactionCreatedBeforeNewCustomerCreated");
eventRecord = new EventRecord(tcEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
// advance time
currentTime = getPlaceHolderValueMillis("time3") + 2;
ncEvent = new NewCustomerEvent(id, 1);
ncEvent.setDescription("AfterBefore_TransactionCreatedBeforeNewCustomerCreated");
eventRecord = new EventRecord(ncEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
// total of 4 events inserted in each loop
}
}
return events;
}