protected List generateMatchingFacts()

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


    protected List<Object> generateMatchingFacts(final int totalNumber) {
        // generate needed number of facts
        final List<Object> facts = new ArrayList<>();
        final int nrOfFactsInInnerLoop = 13;
        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 "CustomerIsThatOrStrange"
                Customer cust = new Customer("That" + getPlaceHolderValue("number1"), "Eidam" + getPlaceHolderValue("number1"));
                cust.setUuid("CustomerIsThatOrStrange");
                cust.setEmail("mail" + getRandomInt(1, 10000));
                facts.add(cust);

                cust = new Customer("Strange" + getPlaceHolderValue("number1"), "Eidam" + getPlaceHolderValue("number1"));
                cust.setUuid("CustomerIsThatOrStrange");
                cust.setEmail("mail" + getRandomInt(1, 10000));
                facts.add(cust);

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

                ///////////////////////////////////////////////
                // rule "CustomerWithCertainEmail"
                cust = new Customer("That" + getRandomInt(0, 100000));
                cust.setEmail("mail" + getPlaceHolderValue("number1"));
                cust.setUuid("CustomerWithCertainEmail");
                facts.add(cust);

                ///////////////////////////////////////////////
                // rule "NonEmptyStreetInCertainCity"
                addr = new Address();
                addr.setCity("City" + getPlaceHolderValue("number1"));
                addr.setStreet("SomeStreet" + getRandomInt(0, 100000));
                addr.setUuid("NonEmptyStreetInCertainCity");
                facts.add(addr);

                ///////////////////////////////////////////////
                // rule "AccountBalance"
                Account acc = new Account();
                acc.setBalance(getRandomInt(getPlaceHolderValue("balance1"), getPlaceHolderValue("balance2")));
                acc.setUuid("AccountBalance" + getPlaceHolderValue("number1"));
                facts.add(acc);

                ///////////////////////////////////////////////
                // rule "AccountBalance2"
                acc = new Account();
                acc.setBalance(getRandomInt(getPlaceHolderValue("balance2"), getPlaceHolderValue("balance3")));
                acc.setUuid("AccountBalance2");
                facts.add(acc);

                ///////////////////////////////////////////////
                // rule "TransactionWithCertainAmount"
                Transaction tr = new Transaction();
                tr.setAmount(getRandomInt(getPlaceHolderValue("amount1"), getPlaceHolderValue("amount2")));
                tr.setUuid("TransactionWithCertainAmount" + getPlaceHolderValue("number1"));
                facts.add(tr);

                ///////////////////////////////////////////////
                // rule "TwoTransactionsHaveSameDescription"
                tr = new Transaction();
                final int value = getRandomInt(0, 100000);
                tr.setAmount(getRandomInt(1000, 100000));
                tr.setDescription("SomeSpecialDescription" + value);
                tr.setUuid("TwoTransactionsHaveSameDescription_" + getPlaceHolderValue("number1"));
                facts.add(tr);

                tr = new Transaction();
                tr.setAmount(getRandomInt(0, 1000));
                tr.setDescription("SomeSpecialDescription" + value);
                tr.setUuid("TwoTransactionsHaveSameDescription_" + getPlaceHolderValue("number1"));
                facts.add(tr);

                ///////////////////////////////////////////////
                // rule "TransactionWithCertainDescription"
                tr = new Transaction();
                tr.setDescription("evilTransaction_" + getPlaceHolderValue("number1"));
                tr.setUuid("TransactionWithCertainDescription");
                facts.add(tr);

                tr = new Transaction();
                tr.setDescription("superEvilTransaction_" + getPlaceHolderValue("number2"));
                tr.setUuid("TransactionWithCertainDescription");
                facts.add(tr);

                ///////////////////////////////////////////////
                // rule "AccountInterestRate"
                acc = new Account();
                acc.setInterestRate(getRandomInt(getPlaceHolderValue("irate1"), getPlaceHolderValue("irate2")));
                acc.setUuid("AccountInterestRate");
                facts.add(acc);

                // total of 13 facts inserted in each inner loop
            }
        }
        return facts;
    }