Here are the examples of the java api class org.kie.internal.builder.DecisionTableConfiguration taken from open source projects.
1. SpreadsheetIntegrationExampleTest#testNamedWorksheet()
Project: drools
File: SpreadsheetIntegrationExampleTest.java
File: SpreadsheetIntegrationExampleTest.java
@Test public void testNamedWorksheet() throws Exception { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.XLS); dtconf.setWorksheetName("Tables_2"); Resource dt = ResourceFactory.newClassPathResource("/data/IntegrationExampleTest.xls", getClass()).setConfiguration(dtconf); KieSession ksession = getKieSession(dt); //ASSERT AND FIRE ksession.insert(new Cheese("cheddar", 42)); ksession.insert(new Person("michael", "stilton", 25)); final List<String> list = new ArrayList<String>(); ksession.setGlobal("list", list); ksession.fireAllRules(); assertEquals(1, list.size()); assertEquals("Young man cheddar", list.get(0)); }
2. SpreadsheetCompilerUnitTest#readKnowledgeBase()
Project: drools
File: SpreadsheetCompilerUnitTest.java
File: SpreadsheetCompilerUnitTest.java
private KnowledgeBase readKnowledgeBase(String resource) throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); DecisionTableConfiguration config = KnowledgeBuilderFactory.newDecisionTableConfiguration(); config.setInputType(DecisionTableInputType.XLS); kbuilder.add(ResourceFactory.newClassPathResource(resource, getClass()), ResourceType.DTABLE, config); KnowledgeBuilderErrors errors = kbuilder.getErrors(); if (errors.size() > 0) { for (KnowledgeBuilderError error : errors) { System.err.println(error); } throw new IllegalArgumentException("Could not parse knowledge."); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); return kbase; }
3. DumpGeneratedDrlTest#testDTableWithNullSrcPathIsCorrectlyDumped()
Project: drools
File: DumpGeneratedDrlTest.java
File: DumpGeneratedDrlTest.java
@Test public void testDTableWithNullSrcPathIsCorrectlyDumped() { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.CSV); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); Resource resource = ResourceFactory.newByteArrayResource(DUMMY_DTABLE_CSV_SOURCE.getBytes(IoUtils.UTF8_CHARSET)); kbuilder.add(resource, ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { Assert.fail("Unexpected Drools compilation errors: " + kbuilder.getErrors().toString()); } assertGeneratedDrlExists(dumpDir, null); }
4. DumpGeneratedDrlTest#testGeneratedDrlFromIsDumpedIfSpecified()
Project: drools
File: DumpGeneratedDrlTest.java
File: DumpGeneratedDrlTest.java
@Test public void testGeneratedDrlFromIsDumpedIfSpecified() { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.CSV); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); Resource resource = ResourceFactory.newByteArrayResource(DUMMY_DTABLE_CSV_SOURCE.getBytes(IoUtils.UTF8_CHARSET)); resource.setSourcePath("some/source/path/dummy-dtable.csv"); kbuilder.add(resource, ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { Assert.fail("Unexpected Drools compilation errors: " + kbuilder.getErrors().toString()); } assertGeneratedDrlExists(dumpDir, "some_source_path_dummy-dtable.csv.drl"); }
5. ColumnReplaceTest#testAutoFocusToLockOnActiveReplacement()
Project: drools
File: ColumnReplaceTest.java
File: ColumnReplaceTest.java
@Test public void testAutoFocusToLockOnActiveReplacement() throws FileNotFoundException { DecisionTableConfiguration dTableConfiguration = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dTableConfiguration.setInputType(DecisionTableInputType.CSV); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("columnReplaceTest.csv", getClass()), ResourceType.DTABLE, dTableConfiguration); if (kbuilder.hasErrors()) { System.out.println(kbuilder.getErrors()); fail("Knowledge builder cannot compile package!"); } System.out.println(DecisionTableFactory.loadFromInputStream(new FileInputStream(new File("src/test/resources/org/drools/decisiontable/columnReplaceTest.csv")), dTableConfiguration)); KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); assertTrue(((RuleImpl) kbase.getRule("org.drools.decisiontable", "lockOnActiveRule")).isLockOnActive()); // lock-on-active was not set on autoFocusRule, so it should be by default false assertFalse(((RuleImpl) kbase.getRule("org.drools.decisiontable", "autoFocusRule")).isLockOnActive()); assertFalse(((RuleImpl) kbase.getRule("org.drools.decisiontable", "lockOnActiveRule")).getAutoFocus()); // auto-focus was set to be true, so it should be true assertTrue(((RuleImpl) kbase.getRule("org.drools.decisiontable", "autoFocusRule")).getAutoFocus()); }
6. DecisionTableConfigurationHandler#start()
Project: drools
File: DecisionTableConfigurationHandler.java
File: DecisionTableConfigurationHandler.java
public Object start(String uri, String localName, Attributes attrs, ExtensibleXmlParser parser) throws SAXException { parser.startElementBuilder(localName, attrs); String type = attrs.getValue("input-type"); String worksheetName = attrs.getValue("worksheet-name"); emptyAttributeCheck(localName, "input-type", type, parser); DecisionTableConfiguration dtConf = new DecisionTableConfigurationImpl(); dtConf.setInputType(DecisionTableInputType.valueOf(type)); if (!StringUtils.isEmpty(worksheetName)) { dtConf.setWorksheetName(worksheetName); } return dtConf; }
7. MultipleSheetsLoadingTest#createXLSResourceConfig()
Project: drools
File: MultipleSheetsLoadingTest.java
File: MultipleSheetsLoadingTest.java
private ResourceConfiguration createXLSResourceConfig(final String worksheetName) { final DecisionTableConfiguration resourceConfig = new DecisionTableConfigurationImpl(); resourceConfig.setInputType(DecisionTableInputType.XLS); resourceConfig.setWorksheetName(worksheetName); return resourceConfig; }
8. ResourceUtil#getDecisionTableResourceFromClasspath()
Project: drools
File: ResourceUtil.java
File: ResourceUtil.java
public static Resource getDecisionTableResourceFromClasspath(final String resourceName, final Class classLoaderFromClass, final DecisionTableInputType type) { final Resource dtable = KieServices.Factory.get().getResources().newClassPathResource(resourceName, classLoaderFromClass); final DecisionTableConfiguration resourceConfig = new DecisionTableConfigurationImpl(); resourceConfig.setInputType(type); dtable.setConfiguration(resourceConfig); return dtable; }
9. UnicodeInXLSTest#testUnicodeXLSDecisionTable()
Project: drools
File: UnicodeInXLSTest.java
File: UnicodeInXLSTest.java
@Test public void testUnicodeXLSDecisionTable() throws FileNotFoundException { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.XLS); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("unicode.xls", getClass()), ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { System.out.println(kbuilder.getErrors().toString()); System.out.println(DecisionTableFactory.loadFromInputStream(getClass().getResourceAsStream("unicode.xls"), dtconf)); fail("Cannot build XLS decision table containing utf-8 characters\n" + kbuilder.getErrors().toString()); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); List<Command<?>> commands = new ArrayList<Command<?>>(); List<?lov?k> dosp?lí = new ArrayList<?lov?k>(); commands.add(CommandFactory.newSetGlobal("dosp?lí", dosp?lí)); ?lov?k ?eho? = new ?lov?k(); ?eho?.setV?k(30); ?eho?.setJméno("?eho?"); commands.add(CommandFactory.newInsert(?eho?)); commands.add(CommandFactory.newFireAllRules()); ksession.execute(CommandFactory.newBatchExecution(commands)); // people with age greater than 18 should be added to list of adults assertNotNull(kbase.getRule("org.drools.decisiontable", "p?idej k dosp?lým")); assertEquals(dosp?lí.size(), 5); assertEquals(dosp?lí.iterator().next().getJméno(), "?eho?"); assertNotNull(kbase.getRule("org.drools.decisiontable", "?????? ???")); assertNotNull(kbase.getRule("org.drools.decisiontable", "????")); assertNotNull(kbase.getRule("org.drools.decisiontable", "hallå världen")); assertNotNull(kbase.getRule("org.drools.decisiontable", "????? ??????")); ksession.dispose(); }
10. UnicodeInCSVTest#testUnicodeCSVDecisionTable()
Project: drools
File: UnicodeInCSVTest.java
File: UnicodeInCSVTest.java
@Test public void testUnicodeCSVDecisionTable() throws FileNotFoundException { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.CSV); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("unicode.csv", getClass()), ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { System.out.println(kbuilder.getErrors().toString()); System.out.println(DecisionTableFactory.loadFromInputStream(getClass().getResourceAsStream("unicode.xls"), dtconf)); fail("Cannot build CSV decision table containing utf-8 characters\n" + kbuilder.getErrors().toString()); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); List<Command<?>> commands = new ArrayList<Command<?>>(); List<?lov?k> dosp?lí = new ArrayList<?lov?k>(); commands.add(CommandFactory.newSetGlobal("dosp?lí", dosp?lí)); ?lov?k ?eho? = new ?lov?k(); ?eho?.setV?k(30); ?eho?.setJméno("?eho?"); commands.add(CommandFactory.newInsert(?eho?)); commands.add(CommandFactory.newFireAllRules()); ksession.execute(CommandFactory.newBatchExecution(commands)); // people with age greater than 18 should be added to list of adults assertNotNull(kbase.getRule("org.drools.decisiontable", "p?idej k dosp?lým")); assertEquals(dosp?lí.size(), 5); assertEquals(dosp?lí.iterator().next().getJméno(), "?eho?"); assertNotNull(kbase.getRule("org.drools.decisiontable", "?????? ???")); assertNotNull(kbase.getRule("org.drools.decisiontable", "????")); assertNotNull(kbase.getRule("org.drools.decisiontable", "hallå världen")); assertNotNull(kbase.getRule("org.drools.decisiontable", "????? ??????")); ksession.dispose(); }
11. FixedPatternTest#testFixedPattern()
Project: drools
File: FixedPatternTest.java
File: FixedPatternTest.java
@Test public void testFixedPattern() throws FileNotFoundException { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.XLS); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("fixedPattern.xls", getClass()), ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { fail(kbuilder.getErrors().toString()); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); List<Long> list = new ArrayList<Long>(); ksession.setGlobal("list", list); ksession.insert(1L); ksession.insert(2); ksession.fireAllRules(); assertEquals(1, list.size()); assertEquals(1L, (long) list.get(0)); ksession.dispose(); }
12. EmptyHeaderTest#testEmptyActionInCSV()
Project: drools
File: EmptyHeaderTest.java
File: EmptyHeaderTest.java
@Test(expected = DecisionTableParseException.class) public void testEmptyActionInCSV() { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.CSV); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("emptyAction.csv", getClass()), ResourceType.DTABLE, dtconf); }
13. EmptyHeaderTest#testEmptyConditionInXLS()
Project: drools
File: EmptyHeaderTest.java
File: EmptyHeaderTest.java
@Test(expected = DecisionTableParseException.class) public void testEmptyConditionInXLS() { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.XLS); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("emptyCondition.xls", getClass()), ResourceType.DTABLE, dtconf); }
14. PricingRuleLauncher#executeExample()
Project: drools
File: PricingRuleLauncher.java
File: PricingRuleLauncher.java
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 KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); //NEW WORKING MEMORY final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession(); //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(); }
15. ChangeSetTest#testXmlParser()
Project: drools
File: ChangeSetTest.java
File: ChangeSetTest.java
@Test public void testXmlParser() throws SAXException, IOException { KnowledgeBuilderConfigurationImpl conf = new KnowledgeBuilderConfigurationImpl(); XmlChangeSetReader xmlReader = new XmlChangeSetReader(conf.getSemanticModules()); xmlReader.setClassLoader(ChangeSetTest.class.getClassLoader(), ChangeSetTest.class); String str = ""; str += "<change-set "; str += "xmlns='http://drools.org/drools-5.0/change-set' "; str += "xmlns:xs='http://www.w3.org/2001/XMLSchema-instance' "; str += "xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >"; str += " <add> "; str += " <resource source='http://www.domain.com/test.drl' type='DRL' />"; str += " <resource source='http://www.domain.com/test.xls' type='DTABLE' >"; str += " <decisiontable-conf worksheet-name='sheet10' input-type='XLS' />"; str += " </resource>"; str += " </add> "; str += "</change-set>"; StringReader reader = new StringReader(str); ChangeSet changeSet = xmlReader.read(reader); assertEquals(2, changeSet.getResourcesAdded().size()); UrlResource resource = (UrlResource) ((List) changeSet.getResourcesAdded()).get(0); assertEquals("http://www.domain.com/test.drl", resource.getURL().toString()); assertEquals(ResourceType.DRL, resource.getResourceType()); resource = (UrlResource) ((List) changeSet.getResourcesAdded()).get(1); assertEquals("http://www.domain.com/test.xls", resource.getURL().toString()); assertEquals(ResourceType.DTABLE, resource.getResourceType()); DecisionTableConfiguration dtConf = (DecisionTableConfiguration) resource.getConfiguration(); assertEquals(DecisionTableInputType.XLS, dtConf.getInputType()); }
16. KnowledgeBuilderImpl#decisionTableToPackageDescr()
Project: drools
File: KnowledgeBuilderImpl.java
File: KnowledgeBuilderImpl.java
PackageDescr decisionTableToPackageDescr(Resource resource, ResourceConfiguration configuration) throws DroolsParserException, IOException { DecisionTableConfiguration dtableConfiguration = configuration instanceof DecisionTableConfiguration ? (DecisionTableConfiguration) configuration : null; if (dtableConfiguration != null && !dtableConfiguration.getRuleTemplateConfigurations().isEmpty()) { List<String> generatedDrls = DecisionTableFactory.loadFromInputStreamWithTemplates(resource, dtableConfiguration); if (generatedDrls.size() == 1) { return generatedDrlToPackageDescr(resource, generatedDrls.get(0)); } CompositePackageDescr compositePackageDescr = null; for (String generatedDrl : generatedDrls) { PackageDescr packageDescr = generatedDrlToPackageDescr(resource, generatedDrl); if (packageDescr != null) { if (compositePackageDescr == null) { compositePackageDescr = new CompositePackageDescr(resource, packageDescr); } else { compositePackageDescr.addPackageDescr(resource, packageDescr); } } } return compositePackageDescr; } String generatedDrl = DecisionTableFactory.loadFromResource(resource, dtableConfiguration); return generatedDrlToPackageDescr(resource, generatedDrl); }