protected List generateMatchingFacts()

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;
    }