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