use of org.kie.internal.builder.DecisionTableConfiguration in project drools by kiegroup.
the class DumpGeneratedDrlTest method testGeneratedDrlFromIsDumpedIfSpecified.
@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");
}
use of org.kie.internal.builder.DecisionTableConfiguration in project drools by kiegroup.
the class UnicodeInXLSTest method testUnicodeXLSDecisionTable.
@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());
}
InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addPackages(kbuilder.getKnowledgePackages());
KieSession ksession = kbase.newKieSession();
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();
}
use of org.kie.internal.builder.DecisionTableConfiguration in project drools by kiegroup.
the class MultipleSheetsLoadingTest method createXLSResourceConfig.
private ResourceConfiguration createXLSResourceConfig(final String worksheetName) {
final DecisionTableConfiguration resourceConfig = new DecisionTableConfigurationImpl();
resourceConfig.setInputType(DecisionTableInputType.XLS);
resourceConfig.setWorksheetName(worksheetName);
return resourceConfig;
}
use of org.kie.internal.builder.DecisionTableConfiguration in project drools by kiegroup.
the class ResourceUtil method getDecisionTableResourceFromClasspath.
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;
}
use of org.kie.internal.builder.DecisionTableConfiguration in project drools by kiegroup.
the class ChangeSetTest method testXmlParser.
@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());
}
Aggregations