private KnowledgeBuilderConfiguration createKnowledgeBuilderConfiguration() { Properties properties = new Properties(); properties.setProperty( "drools.dialect.java.compiler", "JANINO" ); KnowledgeBuilderConfiguration kconf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration( properties, getClass().getClassLoader() ); kconf.setOption( DefaultDialectOption.get( "java" ) ); return kconf; }
public class FileKnowledgeBaseFactory implements KnowledgeBaseFactory { private Log log = LogFactory.getLog(FileKnowledgeBaseFactory.class); public KnowledgeBase load(String drlFullFilename) { KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); config.setOption(DumpDirOption.get(new File("target/dumpDir"))); KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config); .... .... } }
kbConf.setOption( LanguageLevelOption.DRL6 ); KieBase kbase = loadKnowledgeBaseFromString( kbConf, drl );
kbConf.setOption( LanguageLevelOption.DRL5 ); KieBase kbase = loadKnowledgeBaseFromString( kbConf, drl ); KieSession ksession = kbase.newKieSession();
config.setOption(PropertySpecificOption.ALWAYS); KieBase kbase = loadKnowledgeBaseFromString( config, rule ); KieSession ksession = kbase.newKieSession();
conf.setOption(PropertySpecificOption.ALLOWED);
@Test public void testDumpDirectoryConfiguration() { File dumpDir = new File("target"); // setting the dump directory using the type safe method config.setOption( DumpDirOption.get( dumpDir ) ); // checking the type safe getOption() method assertEquals( DumpDirOption.get( dumpDir ), config.getOption( DumpDirOption.class ) ); // checking string conversion assertEquals( dumpDir, config.getOption( DumpDirOption.class ).getDirectory() ); // checking the string based getProperty() method assertEquals( dumpDir.toString(), config.getProperty( DumpDirOption.PROPERTY_NAME ) ); // setting the dump dir using the string based setProperty() method dumpDir = new File( System.getProperty( "java.io.tmpdir" ) ); config.setProperty( DumpDirOption.PROPERTY_NAME, System.getProperty( "java.io.tmpdir" ) ); // checking the type safe getOption() method assertEquals( DumpDirOption.get( dumpDir ), config.getOption( DumpDirOption.class ) ); // checking string conversion assertEquals( dumpDir, config.getOption( DumpDirOption.class ).getDirectory() ); // checking the string based getProperty() method assertEquals( dumpDir.toString(), config.getProperty( DumpDirOption.PROPERTY_NAME ) ); }
config.setOption( option );
config.setOption( option );
public <T extends KnowledgeBuilderOption> void setOption(T option) { delegate.setOption(adaptOption(option)); }
@Test public void testProcessStringEscapesConfiguration() { // setting the process string escapes option using the type safe method config.setOption( ProcessStringEscapesOption.YES ); // checking the type safe getOption() method assertEquals( ProcessStringEscapesOption.YES, config.getOption( ProcessStringEscapesOption.class ) ); // checking the string based getProperty() method assertEquals( "true", config.getProperty( ProcessStringEscapesOption.PROPERTY_NAME ) ); // setting the default dialect using the string based setProperty() method config.setProperty( ProcessStringEscapesOption.PROPERTY_NAME, "false" ); // checking the type safe getOption() method assertEquals( ProcessStringEscapesOption.NO, config.getOption( ProcessStringEscapesOption.class ) ); // checking the string based getProperty() method assertEquals( "false", config.getProperty( ProcessStringEscapesOption.PROPERTY_NAME ) ); }
@Test(timeout = 5000) public void testConfig() throws Exception { String rule = "package org.drools.compiler.integrationtests\n" + "declare A\n" + " i : int\n" + " j : int\n" + "end\n" + "rule R1\n" + "when\n" + " $a : A(i == 1)\n" + "then\n" + " modify($a) { setJ(2) };\n" + "end\n"; KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); config.setOption(PropertySpecificOption.ALWAYS); KieBase kbase = loadKnowledgeBaseFromString( config, rule ); KieSession ksession = kbase.newKieSession(); FactType typeA = kbase.getFactType( "org.drools.compiler.integrationtests", "A" ); Object a = typeA.newInstance(); typeA.set( a, "i", 1 ); ksession.insert( a ); int rules = ksession.fireAllRules(); assertEquals(1, rules); }
@Test public void testLanguageLevelConfiguration() { // setting the language level using the type safe method config.setOption( LanguageLevelOption.DRL5 ); // checking the type safe getOption() method assertEquals( LanguageLevelOption.DRL5, config.getOption( LanguageLevelOption.class ) ); // checking string conversion assertEquals( LanguageLevelOption.DRL5, config.getOption( LanguageLevelOption.class ) ); // checking the string based getProperty() method assertEquals( "DRL5", config.getProperty( LanguageLevelOption.PROPERTY_NAME ) ); // setting the default dialect using the string based setProperty() method config.setProperty( LanguageLevelOption.PROPERTY_NAME, "DRL6" ); // checking the type safe getOption() method assertEquals(LanguageLevelOption.DRL6, config.getOption(LanguageLevelOption.class)); assertEquals( "DRL6", config.getOption( LanguageLevelOption.class ).toString() ); // checking string conversion assertEquals( LanguageLevelOption.DRL6, config.getOption( LanguageLevelOption.class ) ); // checking the string based getProperty() method assertEquals( "DRL6", config.getProperty( LanguageLevelOption.PROPERTY_NAME ) ); }
@Test public void testDefaultPackageNameConfiguration() { // setting the default dialect using the type safe method config.setOption( DefaultPackageNameOption.get( "org.drools.compiler.test" ) ); // checking the type safe getOption() method assertEquals( DefaultPackageNameOption.get( "org.drools.compiler.test" ), config.getOption( DefaultPackageNameOption.class ) ); // checking string conversion assertEquals( "org.drools.compiler.test", config.getOption( DefaultPackageNameOption.class ).getPackageName() ); // checking the string based getProperty() method assertEquals( "org.drools.compiler.test", config.getProperty( DefaultPackageNameOption.PROPERTY_NAME ) ); // setting the default dialect using the string based setProperty() method config.setProperty( DefaultPackageNameOption.PROPERTY_NAME, "org.drools" ); // checking the type safe getOption() method assertEquals( DefaultPackageNameOption.get( "org.drools" ), config.getOption( DefaultPackageNameOption.class ) ); // checking string conversion assertEquals( "org.drools", config.getOption( DefaultPackageNameOption.class ).getPackageName() ); // checking the string based getProperty() method assertEquals( "org.drools", config.getProperty( DefaultPackageNameOption.PROPERTY_NAME ) ); }
@Test public void testDefaultDialectConfiguration() { // setting the default dialect using the type safe method config.setOption( DefaultDialectOption.get( "mvel" ) ); // checking the type safe getOption() method assertEquals( DefaultDialectOption.get( "mvel" ), config.getOption( DefaultDialectOption.class ) ); // checking string conversion assertEquals( "mvel", config.getOption( DefaultDialectOption.class ).getName() ); // checking the string based getProperty() method assertEquals( "mvel", config.getProperty( DefaultDialectOption.PROPERTY_NAME ) ); // setting the default dialect using the string based setProperty() method config.setProperty( DefaultDialectOption.PROPERTY_NAME, "java" ); // checking the type safe getOption() method assertEquals( DefaultDialectOption.get( "java" ), config.getOption( DefaultDialectOption.class ) ); assertEquals( "DefaultDialectOption( name=java )", config.getOption( DefaultDialectOption.class ).toString() ); // checking string conversion assertEquals( "java", config.getOption( DefaultDialectOption.class ).getName() ); // checking the string based getProperty() method assertEquals( "java", config.getProperty( DefaultDialectOption.PROPERTY_NAME ) ); }
configuration.setOption(option);