protected List generateMatchingFacts()

in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/runtime/generator/AfterBeforeEventsGenerator.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 = 0;
                id = id + 1;

                // rule "AfterBefore_TransactionCreatedAfterNewCustomerCreated"
                NewCustomerEvent ncEvent = new NewCustomerEvent(id, 1);
                ncEvent.setDescription("AfterBefore_TransactionCreatedAfterNewCustomerCreated");
                EventRecord eventRecord = new EventRecord(ncEvent, currentTime, TimeUnit.MILLISECONDS);
                events.add(eventRecord);
                // advance time
                currentTime = getPlaceHolderValueMillis("time1") + 2;

                TransactionCreatedEvent tcEvent = new TransactionCreatedEvent(id, 1);
                tcEvent.setDescription("AfterBefore_TransactionCreatedAfterNewCustomerCreated");
                eventRecord = new EventRecord(tcEvent, currentTime, TimeUnit.MILLISECONDS);
                events.add(eventRecord);

                ///////////////////////////////////////////////////////////////
                // rule "AfterBefore_TransactionCreatedBeforeNewCustomerCreated"
                currentTime = 0;
                id = id + 1;

                tcEvent = new TransactionCreatedEvent(id, 1);
                tcEvent.setDescription("AfterBefore_TransactionCreatedBeforeNewCustomerCreated");
                eventRecord = new EventRecord(tcEvent, currentTime, TimeUnit.MILLISECONDS);
                events.add(eventRecord);

                // advance time
                currentTime = getPlaceHolderValueMillis("time3") + 2;
                ncEvent = new NewCustomerEvent(id, 1);
                ncEvent.setDescription("AfterBefore_TransactionCreatedBeforeNewCustomerCreated");
                eventRecord = new EventRecord(ncEvent, currentTime, TimeUnit.MILLISECONDS);
                events.add(eventRecord);

                // total of 4 events inserted in each loop
            }
        }
        return events;
    }