ksession.insert( 2 ); ksession.insert( 3 ); ksession.getAgenda().getAgendaGroup("badfocus").setFocus();
public void clear() { delegate.clear(); }
ksession.getAgenda().clear(); MatchCancelledEvent cancelledEvent = (MatchCancelledEvent) agendaList.get( 1 ); assertEquals( MatchCancelledCause.CLEAR, ksession.getAgenda().getAgendaGroup( "test group" ).setFocus(); assertEquals( 1, agendaList.size() );
public RuleFlowGroup getRuleFlowGroup(String name) { return new RuleFlowGroupAdapter(delegate.getRuleFlowGroup(name)); }
public ActivationGroup getActivationGroup(String name) { return new ActivationGroupAdapter(delegate.getActivationGroup(name)); }
public void init() { this.session.startProcess( "register neighbor" ); this.session.fireAllRules(); session.getAgenda().getRuleFlowGroup( "calculate" ).clear(); }
@Test public void testAgendaGroups() throws Exception { KieBase kbase = loadKnowledgeBase("test_AgendaGroups.drl"); KieSession ksession = kbase.newKieSession(); final List list = new ArrayList(); ksession.setGlobal( "list", list ); final Cheese brie = new Cheese( "brie", 12 ); ksession.insert( brie ); ksession.fireAllRules(); assertEquals( 7, list.size() ); assertEquals( "group3", list.get( 0 ) ); assertEquals( "group4", list.get( 1 ) ); assertEquals( "group3", list.get( 2 ) ); assertEquals( "MAIN", list.get( 3 ) ); assertEquals( "group1", list.get( 4 ) ); assertEquals( "group1", list.get( 5 ) ); assertEquals( "MAIN", list.get( 6 ) ); ksession.getAgenda().getAgendaGroup( "group2" ).setFocus(); ksession.fireAllRules(); assertEquals( 8, list.size() ); assertEquals( "group2", list.get( 7 ) ); }
public void activateRuleFlowGroup(String activateRuleFlowGroupName) { // mark does not want to make the following methods public, so for now we have to downcast ((InternalAgendaGroup) ksession.getAgenda().getRuleFlowGroup(activateRuleFlowGroupName)).setAutoDeactivate(false); // same for the following method ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup(activateRuleFlowGroupName); }
agenda.getAgendaGroup( "two" ).setFocus(); agenda.getAgendaGroup( "one" ).setFocus(); agenda.getAgendaGroup( "two" ).setFocus(); agenda.getAgendaGroup( "one" ).setFocus();
ksession.insert(new String("r4")); ksession.insert(new String("r4")); ksession.getAgenda().getAgendaGroup("g1").setFocus();
agenda.getAgendaGroup( "three" ).setFocus(); agenda.getAgendaGroup( "two" ).setFocus(); agenda.getAgendaGroup( "one" ).setFocus(); kieSession.insert( "99" ); agenda.getAgendaGroup( "three" ).setFocus(); agenda.getAgendaGroup( "two" ).setFocus(); agenda.getAgendaGroup( "one" ).setFocus();
@Test public void testClearActivationGroupCommand() { // DROOLS-828 String drl = "package org.kie.test\n" + "global java.util.List list\n" + "rule \"Rule in first agenda group\" @Propagation(IMMEDIATE)\n" + "agenda-group \"first-agenda\"\n" + "salience 10\n" + "when\n" + "then\n" + "list.add(\"Rule in first agenda group executed\");\n" + "end\n" + "rule \"Rule without agenda group\" @Propagation(IMMEDIATE)\n" + "salience 100\n" + "when\n" + "then\n" + "list.add(\"Rule without agenda group executed\");\n" + "end\n"; KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) .build() .newKieSession(); ksession.setGlobal( "list", new ArrayList<String>() ); ksession.getAgenda().getAgendaGroup( "first-agenda" ).setFocus(); ksession.getAgenda().getAgendaGroup( "first-agenda" ).clear(); ksession.fireAllRules(); ArrayList<String> list = (ArrayList<String>) ksession.getGlobal( "list" ); assertEquals( 1, list.size() ); assertEquals( "Rule without agenda group executed", list.get( 0 ) ); }
@Test public void testClearActivationGroupCommandNoImmediatePropagation() { // DROOLS-865 String drl = "package org.kie.test\n" + "global java.util.List list\n" + "rule \"Rule in first agenda group\"\n" + "agenda-group \"first-agenda\"\n" + "salience 10\n" + "when\n" + "then\n" + "list.add(\"Rule in first agenda group executed\");\n" + "end\n" + "rule \"Rule without agenda group\"\n" + "salience 100\n" + "when\n" + "then\n" + "list.add(\"Rule without agenda group executed\");\n" + "end\n"; KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) .build() .newKieSession(); ksession.setGlobal( "list", new ArrayList<String>() ); ksession.getAgenda().getAgendaGroup( "first-agenda" ).setFocus(); ksession.getAgenda().getAgendaGroup( "first-agenda" ).clear(); ksession.fireAllRules(); ArrayList<String> list = (ArrayList<String>) ksession.getGlobal( "list" ); assertEquals( 1, list.size() ); assertEquals( "Rule without agenda group executed", list.get( 0 ) ); }
ksession.getAgenda().getAgendaGroup( "Start" ).setFocus(); ksession.getAgenda().getAgendaGroup( "End" ).setFocus(); ksession.getAgenda().getAgendaGroup( "Start" ).setFocus();
session.getAgenda().getAgendaGroup( "End" ).setFocus(); session.getAgenda().getAgendaGroup( "Start" ).setFocus();
public AgendaGroup getAgendaGroup(String name) { return new AgendaGroupAdapter(delegate.getAgendaGroup(name)); }
@Test public void testModifyWithLockOnActive() throws Exception { final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBase("test_ModifyWithLockOnActive.drl")); final KieSession session = createKnowledgeSession(kbase); final List results = new ArrayList(); session.setGlobal("results", results); final Person bob = new Person("Bob", 15); final Person mark = new Person("Mark", 16); final Person michael = new Person("Michael", 14); session.insert(bob); session.insert(mark); session.insert(michael); session.getAgenda().getAgendaGroup("feeding").setFocus(); session.fireAllRules(5); assertEquals(2, ((List) session.getGlobal("results")).size()); }
ksession.getAgenda().getAgendaGroup("agenda-group-1" ).setFocus( ); ksession = getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules(); ksession.getAgenda().getAgendaGroup("agenda-group-2" ).setFocus( ); ksession = getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules();
@Test public void testNullPointerOnModifyWithLockOnActive() { // JBRULES-3234 String str = "package org.kie.test \n" + "import org.drools.compiler.Person; \n" + "rule 'Rule 1' agenda-group 'g1' lock-on-active when \n" + " $p : Person( age != 35 ) \n" + " then \n" + " modify( $p ) { setAge( 35 ) }; \n" + "end \n" + "rule 'Rule 2' agenda-group 'g1' no-loop when \n" + " $p: Person( age == 35) \n" + " then \n" + " modify( $p ) { setAge( 36 ) }; \n" + "end \n"; KieBase kbase = loadKnowledgeBaseFromString(str); KieSession ksession = kbase.newKieSession(); Person p = new Person( "darth", 36 ); FactHandle fh = (FactHandle) ksession.insert( p ); ksession.getAgenda().getAgendaGroup( "g1" ).setFocus(); ksession.fireAllRules(); ksession.update( fh, p ); // normally NPE thrown here, for BUG assertEquals( 36, p.getAge() ); }
public boolean nextGeneration() { // System.out.println( "next generation" ); this.session.getAgenda().getAgendaGroup( "kill" ).setFocus(); this.session.getAgenda().getAgendaGroup( "birth" ).setFocus(); this.session.getAgenda().getAgendaGroup( "reset calculate" ).setFocus(); this.session.getAgenda().getAgendaGroup( "rest" ).setFocus(); this.session.getAgenda().getAgendaGroup( "evaluate" ).setFocus(); this.session.getAgenda().getAgendaGroup( "calculate" ).setFocus(); return session.fireAllRules() != 0; //return session.getAgenda().getAgendaGroup( "calculate" ).size() != 0; }