Refine search
@Test public void testFunctionCallingFunctionWithEclipse() throws Exception { KnowledgeBuilderConfiguration kbconf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); kbconf.setProperty( "drools.dialect.java.compiler", "ECLIPSE" ); KieBase kbase = loadKnowledgeBase( kbconf, "test_functionCallingFunction.drl" ); KieSession ksession = createKnowledgeSession(kbase); final List<Integer> list = new ArrayList<Integer>(); ksession.setGlobal( "results", list ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertEquals( 12, list.get( 0 ).intValue() ); }
@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 ) ); }
"end\n"; KnowledgeBuilderConfiguration config = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); config.setOption(PropertySpecificOption.ALWAYS); KieBase kbase = loadKnowledgeBaseFromString( config, rule ); KieSession ksession = kbase.newKieSession(); ksession.setGlobal( "counter", counter ); factTypeB.set( factB, "s", "test" ); factTypeB.set( factB, "on", false ); ksession.insert( factB ); Assertions.assertThatThrownBy(() -> ksession.fireAllRules()) .isInstanceOf(RuntimeException.class) .hasMessageContaining("Exception executing consequence for rule \"R1\"");
private KieBase createKnowledgeBase(String flowFile) { KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); conf.setProperty("drools.dialect.java.compiler", "JANINO"); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf); kbuilder.add( new ClassPathResource( flowFile ), ResourceType.DRF ); if(kbuilder.hasErrors()){ StringBuilder errorMessage = new StringBuilder(); for (KnowledgeBuilderError error: kbuilder.getErrors()) { errorMessage.append( error.getMessage() ); errorMessage.append( System.getProperty( "line.separator" ) ); } fail( errorMessage.toString()); } InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addPackages( kbuilder.getKnowledgePackages() ); return kbase; }
KnowledgeBuilderConfiguration conf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); conf.setOption(PropertySpecificOption.ALLOWED); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(conf); kbuilder.add( ResourceFactory.newByteArrayResource(rule.getBytes()), ResourceType.DRL ); assertTrue(kbuilder.hasErrors());
@Test public void testJaninoEval() throws Exception { KnowledgeBuilderConfiguration kbconf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); kbconf.setProperty( JavaDialectConfiguration.JAVA_COMPILER_PROPERTY, "JANINO" ); KnowledgeBase kbase = loadKnowledgeBase( kbconf, "eval_rule_test.drl" ); kbase = SerializationHelper.serializeObject( kbase ); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); ksession.setGlobal( "five", new Integer( 5 ) ); final List list = new ArrayList(); ksession.setGlobal( "list", list ); final Cheese stilton = new Cheese( "stilton", 5 ); ksession.insert( stilton ); ksession = SerializationHelper.getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules(); assertEquals( stilton, ((List) ksession.getGlobal( "list" )).get( 0 ) ); }
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; }
KnowledgeBuilderConfiguration kbConfig = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); kbConfig.setProperty("drools.dialect.mvel.strict", "false"); KnowledgeBuilder kBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder( kbConfig );
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); .... .... } }
public <T extends SingleValueKnowledgeBuilderOption> T getOption(Class<T> option) { return (T)delegate.getOption(adaptSingleValueBuilderOption(option)); }
public String getProperty(String name) { return delegate.getProperty(name); }
public <T extends MultiValueKnowledgeBuilderOption> Set<String> getOptionKeys(Class<T> option) { return delegate.getOptionKeys(adaptMultiValueBuilderOption(option)); }
"\n"; KnowledgeBuilderConfiguration kbConf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); kbConf.setOption( LanguageLevelOption.DRL6 ); KieBase kbase = loadKnowledgeBaseFromString( kbConf, drl ); ksession.setGlobal( "list", list ); ksession.fireAllRules();
public void setProperty(String name, String value) { delegate.setProperty(name, value); }
public <T extends KnowledgeBuilderOption> void setOption(T option) { delegate.setOption(adaptOption(option)); }
public <T extends MultiValueKnowledgeBuilderOption> T getOption(Class<T> option, String key) { return (T)delegate.getOption(adaptMultiValueBuilderOption(option), key); }
"\n"; KnowledgeBuilderConfiguration kbConf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); kbConf.setOption( LanguageLevelOption.DRL5 ); KieBase kbase = loadKnowledgeBaseFromString( kbConf, drl ); KieSession ksession = kbase.newKieSession(); List list = new ArrayList(); ksession.setGlobal( "list", list ); ksession.fireAllRules();
@Test public void testFunctionCallingFunctionWithJanino() throws Exception { KnowledgeBuilderConfiguration kbconf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(); kbconf.setProperty( "drools.dialect.java.compiler", "JANINO" ); KieBase kbase = loadKnowledgeBase( kbconf, "test_functionCallingFunction.drl" ); KieSession ksession = createKnowledgeSession(kbase); final List<Integer> list = new ArrayList<Integer>(); ksession.setGlobal( "results", list ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertEquals( 12, list.get( 0 ).intValue() ); }
@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 ) ); }
configuration.setOption(option);