protected List generateMatchingFacts()

in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/runtime/generator/AdvancedOperators4FactsGenerator.java [37:87]


    protected List<Object> generateMatchingFacts(final int totalNumber) {
        // generate needed number of facts
        final List<Object> facts = new ArrayList<>();
        final int nrOfFactsInInnerLoop = 7;
        final int innerLoops = (config.getNumberOfRulesInDRL() / config.getNumberOfRuleTypesInDRL());
        final int outerLoops = (totalNumber / (innerLoops * nrOfFactsInInnerLoop));
        for (int j = 0; j < outerLoops; j++) {
            for (int i = 0; i < innerLoops; i++) {
                currentLoop = i;
                ///////////////////////////////////////////////////////////////
                //rule "transactionsWithCertainAccountFrom_collect"
                Account acc = new Account();
                acc.setUuid("transactionsWithCertainAccountFrom_collect_" + getPlaceHolderValue("number1"));
                acc.setName("name" + getRandomInt(1000, 100000000));
                facts.add(acc);

                Transaction tr = new Transaction();
                tr.setAccountFrom(acc);
                tr.setDescription("transactionDesc" + getRandomInt(1000, 1000000));
                facts.add(tr);

                tr = new Transaction();
                tr.setAccountFrom(acc);
                tr.setDescription("transactionDesc" + getRandomInt(1000, 1000000));
                facts.add(tr);

                tr = new Transaction();
                tr.setAccountFrom(acc);
                tr.setDescription("transactionDesc" + getRandomInt(1000, 1000000));
                facts.add(tr);

                ///////////////////////////////////////////////////////////////
                // same facts for all accumulate rules
                acc = new Account();
                acc.setUuid("totalAverageMinMaxlBalanceForCertainAccounts_accumulate_" + getPlaceHolderValue("number1"));
                acc.setBalance(getRandomInt(1, 10000000));
                facts.add(acc);

                acc = new Account();
                acc.setUuid("totalAverageMinMaxlBalanceForCertainAccounts_accumulate_" + getPlaceHolderValue("number1"));
                acc.setBalance(getRandomInt(1, 10000000));
                facts.add(acc);

                acc = new Account();
                acc.setUuid("totalAverageMinMaxlBalanceForCertainAccounts_accumulate_" + getPlaceHolderValue("number1"));
                acc.setBalance(getRandomInt(1, 10000000));
                facts.add(acc);
            }
        }
        return facts;
    }