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