use of org.acme.insurance.Driver in project drools by kiegroup.
the class PricingRuleLauncher method executeExample.
public int executeExample() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration();
dtconf.setInputType(DecisionTableInputType.XLS);
kbuilder.add(ResourceFactory.newClassPathResource("/data/ExamplePolicyPricing.xls", getClass()), ResourceType.DTABLE, dtconf);
if (kbuilder.hasErrors()) {
throw new RuntimeException(kbuilder.getErrors().toString());
}
// BUILD RULEBASE
InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addPackages(kbuilder.getKnowledgePackages());
// NEW WORKING MEMORY
final KieSession session = kbase.newKieSession();
// now create some test data
Driver driver = new Driver();
Policy policy = new Policy();
session.insert(driver);
session.insert(policy);
session.fireAllRules();
System.out.println("BASE PRICE IS: " + policy.getBasePrice());
System.out.println("DISCOUNT IS: " + policy.getDiscountPercent());
return policy.getBasePrice();
}
use of org.acme.insurance.Driver in project drools by kiegroup.
the class ExternalSpreadsheetCompilerTest method testPricing.
@Test
public void testPricing() throws Exception {
final ExternalSpreadsheetCompiler converter = new ExternalSpreadsheetCompiler();
final List<DataListener> listeners = new ArrayList<DataListener>();
TemplateDataListener l1 = new TemplateDataListener(10, 3, "/templates/test_pricing1.drl");
listeners.add(l1);
TemplateDataListener l2 = new TemplateDataListener(30, 3, "/templates/test_pricing2.drl");
listeners.add(l2);
converter.compile("/data/ExamplePolicyPricing.xls", InputType.XLS, listeners);
// COMPILE
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newByteArrayResource(l1.renderDRL().getBytes()), ResourceType.DRL);
kbuilder.add(ResourceFactory.newByteArrayResource(l2.renderDRL().getBytes()), ResourceType.DRL);
assertFalse(kbuilder.hasErrors());
InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addPackages(kbuilder.getKnowledgePackages());
KieSession kSession = kbase.newKieSession();
// now create some test data
Driver driver = new Driver();
Policy policy = new Policy();
kSession.insert(driver);
kSession.insert(policy);
kSession.fireAllRules();
System.out.println("BASE PRICE IS: " + policy.getBasePrice());
System.out.println("DISCOUNT IS: " + policy.getDiscountPercent());
int basePrice = policy.getBasePrice();
assertEquals(120, basePrice);
}
Aggregations