private static Resource parseResource(String resource) { if ( resource.trim().startsWith( "classpath:" ) ) { return ResourceFactory.newClassPathResource(resource.substring( resource.indexOf( ':' ) + 1 ),DroolsBlueprintBean.class); } else { return ResourceFactory.newUrlResource( resource ); } } }
public static final void main(String[] args) { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("ex02_helloRules.drl"), ResourceType.DRL); KnowledgeBase kbase = kbuilder.newKnowledgeBase(); StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(); Hour hour = new Hour(new Random().nextInt(24)); ksession.execute(hour); } }
public static final void main(String[] args) { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("ex03_greetings.bpmn"), ResourceType.BPMN2); kbuilder.add(ResourceFactory.newClassPathResource("ex03_greetings.drl"), ResourceType.DRL); KnowledgeBase kbase = kbuilder.newKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); //KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newConsoleLogger(ksession); HashMap<String, Object> params = new HashMap<String, Object>(); params.put("hourOfDay", new Hour(new Random().nextInt(24))); ksession.startProcess("com.wordpress.salaboy.bpmn2.greetings",params); ksession.fireAllRules(); //logger.close(); ksession.dispose(); } }
private KnowledgeBase createKnowledgeBase(File[] files) throws MojoExecutionException { KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder(); builder.add(ResourceFactory.newClassPathResource("drools-globals.drl", getClass()), ResourceType.DRL); for (File file : files) { getLog().info("Parsing rule file " + file.getAbsolutePath()); builder.add(ResourceFactory.newFileResource(file), ResourceType.DRL); } if (builder.hasErrors()) { getLog().error("Rule errors:"); for (KnowledgeBuilderError error : builder.getErrors()) { getLog().error(error.toString()); } throw new MojoExecutionException("Unable to create rules. See log for details."); } KnowledgeBase base = KnowledgeBaseFactory.newKnowledgeBase(); base.addKnowledgePackages(builder.getKnowledgePackages()); return base; }
if (kagent==null) { KnowledgeAgent unconfigAgent = KnowledgeAgentFactory.newKnowledgeAgent( "CompanyPolicyAgent" ); unconfigAgent.applyChangeSet(ResourceFactory.newClassPathResource(getDroolsRuleSet()));
public static final void main(String[] args) { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("ex01_helloBPM.bpmn"), ResourceType.BPMN2); KnowledgeBase kbase = kbuilder.newKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); ksession.startProcess("com.wordpress.salaboy.bpmn2.hello"); ksession.dispose(); } }
@Test public void testDecisionTableCsv() { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.CSV); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("sample.csv", getClass()), ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { throw new RuntimeException("Drools compile errors: " + kbuilder.getErrors().toString()); } }
@Test public void testDecisionTableXls() { DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration(); dtconf.setInputType(DecisionTableInputType.XLS); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("sample.xls", getClass()), ResourceType.DTABLE, dtconf); if (kbuilder.hasErrors()) { throw new RuntimeException("Drools compile errors: " + kbuilder.getErrors().toString()); } }
@Test public void testBrl() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newClassPathResource( "BrlRule.package", getClass() ), ResourceType.DRL ); kbuilder.add( ResourceFactory.newClassPathResource( "BrlRule.brl", getClass() ), ResourceType.BRL ); // the compiled package KnowledgeBase kbase = kbuilder.newKnowledgeBase(); kbase = SerializationHelper.serializeObject( kbase ); StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession(); session.insert( new Person( "Bob" ) ); assertEquals( 1, session.getObjects().size() ); session.fireAllRules(); // should have fired assertEquals( 0, session.getObjects().size() ); }