in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/runtime/generator/MeetsMetbyEventsGenerator.java [36:83]
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 = getPlaceHolderValueMillis("time1");
id = id + 1;
///////////////////////////////////////////////////////////////
// rule "MeetsMetby_TransactionCreatedMeetsNewCustomerCreated"
NewCustomerEvent ncEvent = new NewCustomerEvent(id, 2);
ncEvent.setDescription("MeetsMetby_TransactionCreatedMeetsNewCustomerCreated" + getPlaceHolderValueMillis("time1") + "ms");
EventRecord eventRecord = new EventRecord(ncEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
// advance time
currentTime = 0;
TransactionCreatedEvent tcEvent = new TransactionCreatedEvent(id, 1);
tcEvent.setDescription("MeetsMetby_TransactionCreatedMeetsNewCustomerCreated" + getPlaceHolderValueMillis("time1") + "ms");
eventRecord = new EventRecord(tcEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
///////////////////////////////////////////////////////////////
// rule "MeetsMetby_TransactionCreatedMetbyNewCustomerCreated"
id = id + 1;
currentTime = getPlaceHolderValueMillis("time2");
tcEvent = new TransactionCreatedEvent(id, 1);
tcEvent.setDescription("MeetsMetby_TransactionCreatedMetbyNewCustomerCreated" + getPlaceHolderValueMillis("time2") + "ms");
eventRecord = new EventRecord(tcEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
// advance time
currentTime = 0;
ncEvent = new NewCustomerEvent(id, 2);
ncEvent.setDescription("MeetsMetby_TransactionCreatedMetbyNewCustomerCreated" + getPlaceHolderValueMillis("time2") + "ms");
eventRecord = new EventRecord(ncEvent, currentTime, TimeUnit.MILLISECONDS);
events.add(eventRecord);
// total of 4 events inserted in each loop
}
}
return events;
}