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