in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/turtle/runtime/generator/AdvancedOperators2FactsGenerator.java [37:104]
protected List<Object> generateMatchingFacts(final int totalNumber) {
// generate needed number of facts
final List<Object> facts = new ArrayList<>();
final int nrOfFactsInInnerLoop = 8;
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 "twoCustomersWithSameNameInfixAnd"
Customer cust = new Customer("Johnny" + getPlaceHolderValue("number1"), "Cheddar" + getRandomInt(0, 1000000));
cust.setUuid("twoCustomersWithSameNameInfixAnd");
final int randomInt = getRandomInt(0, 1000000);
cust.setEmail("someCoolMail" + randomInt + "@somewhere.com");
facts.add(cust);
cust = new Customer("Johnny" + getPlaceHolderValue("number1"), "Cheddar" + getRandomInt(0, 1000000));
cust.setUuid("twoCustomersWithSameNameInfixAnd");
cust.setEmail("someCoolMail" + randomInt + "@somewhere.com");
facts.add(cust);
///////////////////////////////////////////////////////////////
// rule "accountWithNumberGreaterThanOrLessThanInfixOr"
Account acc = new Account();
acc.setNumber(getRandomInt(getPlaceHolderValue("number1"), getPlaceHolderValue("number2")));
acc.setName("accountName" + randomInt);
acc.setUuid("accountWithNumberGreaterThanOrLessThanInfixOr");
acc.setInterestRate((double) getRandomInt(1000000, 2000000));
facts.add(acc);
acc = new Account();
acc.setNumber(getRandomInt(getPlaceHolderValue("number1"), getPlaceHolderValue("number2")));
acc.setName("accountName" + randomInt);
acc.setUuid("accountWithNumberGreaterThanOrLessThanInfixOr");
acc.setInterestRate((double) getRandomInt(1000000, 2000000));
facts.add(acc);
///////////////////////////////////////////////////////////////
// rule "transactionWithAmountGreaterThanOrLessThanPrefixOr"
Transaction tr = new Transaction();
tr.setUuid("transactionWithAmountGreaterThanOrLessThanPrefixOr" + getPlaceHolderValue("number1"));
tr.setAmount(getRandomInt(getPlaceHolderValue("number1"), getPlaceHolderValue("number2")));
tr.setDescription("someUsefulTransDescription" + randomInt);
facts.add(tr);
tr = new Transaction();
tr.setUuid("transactionWithAmountGreaterThanOrLessThanPrefixOr" + getPlaceHolderValue("number1"));
tr.setAmount(getRandomInt(getPlaceHolderValue("number1"), getPlaceHolderValue("number2")));
tr.setDescription("someUsefulTransDescription" + randomInt);
facts.add(tr);
///////////////////////////////////////////////////////////////
// rule "transactionWithOneOfSpecifiedDescriptions"
tr = new Transaction();
final String[] descriptions = new String[]{"good", "great", "super"};
tr.setDescription(descriptions[getRandomInt(0, 2)] + getPlaceHolderValue("number1"));
tr.setUuid("transactionWithOneOfSpecifiedDescriptions");
facts.add(tr);
///////////////////////////////////////////////////////////////
// rule "cityIsBrnoOstravaPrahaZlin"
final Address addr = new Address();
final String[] cities = new String[]{"Brno", "Ostrava", "Praha", "Zlin"};
addr.setCity(cities[getRandomInt(0, 2)] + getPlaceHolderValue("number1"));
addr.setUuid("cityIsBrnoOstravaPrahaZlin");
facts.add(addr);
}
}
return facts;
}