protected List generateMatchingFacts()

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


    protected List<Object> generateMatchingFacts(final int totalNumber) {
        // generate needed number of facts
        final List<Object> facts = new ArrayList<>();
        final int nrOfFactsInInnerLoop = 4;
        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 "theseIsNotSpecifiedSomeCustomer"
                final Customer cust = new Customer("Some" + getPlaceHolderValue("number1"), "Gorgonzola" + getPlaceHolderValue("number1"));
                cust.setEmail("Some_" + getRandomInt(0, 100000) + "@cheese.galaxy");
                cust.setUuid("theseIsNotSpecifiedSomeCustomer");
                facts.add(cust);

                ///////////////////////////////////////////////////////////////
                // rule "existsVerySpecificAddress"
                final Address addr = new Address();
                addr.setUuid("existsVerySpecificAddress");
                addr.setCity("Brno" + getPlaceHolderValue("number1"));
                addr.setCountry(Address.Country.CZ);
                facts.add(addr);

                ///////////////////////////////////////////////////////////////
                // rule "accountHasNumberFromSpecifiedRange_eval"
                final Account acc = new Account();
                acc.setUuid("accountHasNumberFromSpecifiedRange_eval");
                acc.setNumber(getRandomInt(getPlaceHolderValue("number1"), getPlaceHolderValue("number2")));
                facts.add(acc);

                ///////////////////////////////////////////////////////////////
                // rule "allTransactionWithStatusPendingHasAmount_forAll"
                final Transaction tr = new Transaction();
                tr.setStatus(Transaction.Status.PENDING);
                tr.setUuid("allTransactionWithStatusPendingHasAmount_forAll");
                tr.setAmount(getRandomInt(100, 10000000));
                facts.add(tr);
            }
        }
        return facts;
    }