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