org.kie.internal.builder.DecisionTableConfiguration

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