@Test @RequirePersistence public void testRuleTaskWithFactsWithPersistence() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-RuleTaskWithFact.bpmn2", "BPMN2-RuleTask3.drl"); ksession = createKnowledgeSession(kbase); ( (SingleSessionCommandService) ( (CommandBasedStatefulKnowledgeSession) ksession ).getRunner() ).getKieSession() .addEventListener(new TriggerRulesEventListener(ksession)); ksession.addEventListener(new DebugAgendaEventListener()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "SomeString"); ProcessInstance processInstance = ksession.startProcess("RuleTask", params); assertProcessInstanceFinished(processInstance, ksession); params = new HashMap<String, Object>(); try { processInstance = ksession.startProcess("RuleTask", params); fail("Should fail"); } catch (Exception e) { e.printStackTrace(); } params = new HashMap<String, Object>(); params.put("x", "SomeString"); processInstance = ksession.startProcess("RuleTask", params); assertProcessInstanceFinished(processInstance, ksession); }
KieSession ksession = kbase.newKieSession(); ksession.addEventListener(new DebugAgendaEventListener()); ksession.addEventListener(new DebugProcessEventListener());
@Test(timeout=10000) public void testTraitDonLegacyClassWithoutEmptyConstructor( ) { String drl = "package org.drools.compiler.trait.test;\n" + "\n" + "import org.drools.compiler.factmodel.traits.TraitTest.TraitableFoo;\n" + "import org.drools.core.factmodel.traits.Traitable;\n" + "\n" + "" + "declare trait Bar\n" + "end\n" + "\n" + "rule \"Don\"\n" + "no-loop \n" + "when\n" + " $f : TraitableFoo( )\n" + "then\n" + " Bar b = don( $f, Bar.class );\n" + "end"; KieSession ksession = getSessionFromString(drl); TraitFactory.setMode( mode, ksession.getKieBase() ); ksession.addEventListener( new DebugAgendaEventListener( ) ); ksession.insert( new TraitableFoo( "xx", 0, null ) ); ksession.fireAllRules(); for ( Object o : ksession.getObjects() ) { System.out.println( o ); } assertEquals( 2, ksession.getObjects().size() ); }
ksession.addEventListener(new DebugAgendaEventListener()); // add 2 debug event listeners ksession.addEventListener(new DebugWorkingMemoryEventListener()); // setup the audit logging WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( session ); logger.setFileName( "log/helloworld" );
KieBase kb = loadKnowledgeBaseFromString( drl ); KieSession ks = kb.newKieSession(); ks.addEventListener( new DebugAgendaEventListener() );
KieBase kb = loadKnowledgeBaseFromString( drl ); KieSession ks = kb.newKieSession(); ks.addEventListener( new DebugAgendaEventListener() );
obj = new DebugAgendaEventListener(); } else if (TYPE_PROCESS_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { obj = new DebugProcessEventListener();
obj = new DebugAgendaEventListener(); } else if (TYPE_PROCESS_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { obj = new DebugProcessEventListener();
obj = new DebugAgendaEventListener(); } else if (TYPE_PROCESS_EVENT_LISTENER.equalsIgnoreCase(listenerType)) { obj = new DebugProcessEventListener();
@Override public void start(BundleContext context) throws Exception { KieServices ks = KieServices.Factory.get(); KieContainer kcont = ks.newKieClasspathContainer(getClass() .getClassLoader()); KieBase kbase = kcont.getKieBase("SimpleRuleKBase"); logger.info("KieSession newKieSession."); ksession = kbase.newKieSession(); ksession.addEventListener(new DebugAgendaEventListener()); ksession.addEventListener(new DebugRuleRuntimeEventListener()); Customer customer = customerPoor(); logger.info("KieSession fireAllRules. {}", customer); FactHandle fh = ksession.insert(customer); ksession.fireAllRules(); ksession.delete(fh); logger.info("After rule {}", customer); customer = customerNormal(); logger.info("KieSession fireAllRules. {}", customer); fh = ksession.insert(customer); ksession.fireAllRules(); ksession.delete(fh); logger.info("After rule {}", customer); customer = customerVip(); logger.info("KieSession fireAllRules. {}", customer); fh = ksession.insert(customer); ksession.fireAllRules(); ksession.delete(fh); logger.info("After rule {}", customer); }
public static void execute( KieContainer kc ) { // From the container, a session is created based on // its definition and configuration in the META-INF/kmodule.xml file KieSession ksession = kc.newKieSession("HelloWorldKS"); // Once the session is created, the application can interact with it // In this case it is setting a global as defined in the // org/drools/examples/helloworld/HelloWorld.drl file ksession.setGlobal( "list", new ArrayList<Object>() ); // The application can also setup listeners ksession.addEventListener( new DebugAgendaEventListener() ); ksession.addEventListener( new DebugRuleRuntimeEventListener() ); // To setup a file based audit logger, uncomment the next line // KieRuntimeLogger logger = ks.getLoggers().newFileLogger( ksession, "./helloworld" ); // To setup a ThreadedFileLogger, so that the audit view reflects events whilst debugging, // uncomment the next line // KieRuntimeLogger logger = ks.getLoggers().newThreadedFileLogger( ksession, "./helloworld", 1000 ); // The application can insert facts into the session final Message message = new Message(); message.setMessage( "Hello World" ); message.setStatus( Message.HELLO ); ksession.insert( message ); // and fire the rules ksession.fireAllRules(); // Remove comment if using logging // logger.close(); // and then dispose the session ksession.dispose(); }
@Test @RequirePersistence public void testRuleTaskWithFactsWithPersistence() throws Exception { KieBase kbase = createKnowledgeBaseWithoutDumper("BPMN2-RuleTaskWithFact.bpmn2", "BPMN2-RuleTask3.drl"); ksession = createKnowledgeSession(kbase); ( (SingleSessionCommandService) ( (CommandBasedStatefulKnowledgeSession) ksession ).getRunner() ).getKieSession() .addEventListener(new TriggerRulesEventListener(ksession)); ksession.addEventListener(new DebugAgendaEventListener()); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "SomeString"); ProcessInstance processInstance = ksession.startProcess("RuleTask", params); assertProcessInstanceFinished(processInstance, ksession); params = new HashMap<String, Object>(); try { processInstance = ksession.startProcess("RuleTask", params); fail("Should fail"); } catch (Exception e) { e.printStackTrace(); } params = new HashMap<String, Object>(); params.put("x", "SomeString"); processInstance = ksession.startProcess("RuleTask", params); assertProcessInstanceFinished(processInstance, ksession); }
ksession.addEventListener( new DebugAgendaEventListener( ) );
KnowledgeBase kb = loadKnowledgeBaseFromString( drl ); StatefulKnowledgeSession ks = kb.newStatefulKnowledgeSession(); ks.addEventListener( new DebugAgendaEventListener( ) );