addRuleSetListener(); ((InternalAgenda) getProcessInstance().getKnowledgeRuntime().getAgenda()) .activateRuleFlowGroup(getRuleFlowGroup(), getProcessInstance().getId(), getUniqueId()); .activateRuleFlowGroup(getRuleFlowGroup(), getProcessInstance().getId(), getUniqueId());
if (ruleFlowGroup != null && !agenda.getRuleFlowGroup(ruleFlowGroup).isActive()) { agenda.getRuleFlowGroup(ruleFlowGroup).setAutoDeactivate(false); agenda.activateRuleFlowGroup(ruleFlowGroup, getProcessInstance().getId(), getUniqueId());
@Test public void testRuleFlowGroup() throws Exception { KieBase kbase = loadKnowledgeBase("ruleflowgroup.drl"); KieSession ksession = kbase.newKieSession(); final List list = new ArrayList(); ksession.setGlobal( "list", list ); ksession.insert( "Test" ); ksession.fireAllRules(); assertEquals( 0, list.size() ); ((InternalAgenda)ksession.getAgenda()).activateRuleFlowGroup("Group1"); ksession.fireAllRules(); assertEquals( 1, list.size() ); }
assertEquals( 0, list.size() ); ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup("Group1");
@Test public void testRuleFlowGroupDeactivate() throws Exception { // need to make eager, for cancel to work, (mdp) KieBase kbase = loadKnowledgeBase("ruleflowgroup2.drl"); KieSession ksession = kbase.newKieSession(); final List list = new ArrayList(); ksession.setGlobal( "list", list ); ksession.insert( "Test" ); ksession.fireAllRules(); assertEquals( 0, list.size() ); assertEquals(2, ((InternalAgenda) ksession.getAgenda()).getRuleFlowGroup("Group1").size()); ((InternalAgenda)ksession.getAgenda()).activateRuleFlowGroup("Group1"); ksession.fireAllRules(); assertEquals( 0, list.size() ); }
( (InternalAgenda) ksession.getAgenda() ).activateRuleFlowGroup( "test" ); ksession.fireAllRules(); assertEquals( 1, res.size() ); ( (InternalAgenda) ksession.getAgenda() ).activateRuleFlowGroup( "test" ); ksession.fireAllRules(); fail( "should throw an Exception" ); ( (InternalAgenda) ksession.getAgenda() ).activateRuleFlowGroup( "test" ); ksession.fireAllRules(); assertEquals( 1, res.size() );
((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup( "ruleflow-group-1" ); ksession = getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules(); ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup( "ruleflow-group-2" ); ksession = getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules();
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); }
public Void execute(Context context ) { KieSession ksession = ((RegistryContext) context).lookup( KieSession.class ); ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup(ruleFlowGroupName); return null; }
addRuleSetListener(); ((InternalAgenda) getProcessInstance().getKnowledgeRuntime().getAgenda()) .activateRuleFlowGroup(getRuleFlowGroup(), getProcessInstance().getId(), getUniqueId()); .activateRuleFlowGroup(getRuleFlowGroup(), getProcessInstance().getId(), getUniqueId());
((InternalAgenda)ksession.getAgenda()).activateRuleFlowGroup("test"); ksession.fireAllRules(); assertEquals(1, res.size()); ((InternalAgenda)ksession.getAgenda()).activateRuleFlowGroup("test"); ksession.fireAllRules(); fail("should throw an Exception"); ((InternalAgenda)ksession.getAgenda()).activateRuleFlowGroup("test"); ksession.fireAllRules(); assertEquals(1, res.size());
((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup( "ruleflow-group-1" ); ksession = getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules(); ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup( "ruleflow-group-2" ); ksession = getSerialisedStatefulKnowledgeSession( ksession, true ); ksession.fireAllRules();
if (ruleFlowGroup != null && !agenda.getRuleFlowGroup(ruleFlowGroup).isActive()) { agenda.getRuleFlowGroup(ruleFlowGroup).setAutoDeactivate(false); agenda.activateRuleFlowGroup(ruleFlowGroup, getProcessInstance().getId(), getUniqueId());
@Test public void testRuleFlowGroupWithLockOnActivate() { // JBRULES-3590 String str = "import org.drools.compiler.Person;\n" + "import org.drools.compiler.Cheese;\n" + "rule R1\n" + "ruleflow-group \"group1\"\n" + "lock-on-active true\n" + "when\n" + " $p : Person()\n" + "then\n" + " $p.setName(\"John\");\n" + " update ($p);\n" + "end\n" + "rule R2\n" + "ruleflow-group \"group1\"\n" + "lock-on-active true\n" + "when\n" + " $p : Person( name == null )\n" + " forall ( Cheese ( type == \"cheddar\" ))\n" + "then\n" + "end"; KnowledgeBase kbase = loadKnowledgeBaseFromString( str ); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); ksession.insert( new Person() ); ksession.insert( new Cheese( "gorgonzola" ) ); ((InternalAgenda) ksession.getAgenda()).activateRuleFlowGroup( "group1" ); assertEquals( 1, ksession.fireAllRules() ); ksession.dispose(); }
agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(2, ruleFlowGroup0.size()); agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(2, ruleFlowGroup0.size()); agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(2, ruleFlowGroup0.size());
agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(2, ruleFlowGroup0.size()); agenda.activateRuleFlowGroup("rule-flow-group-1"); agenda.activateRuleFlowGroup("rule-flow-group-2"); assertEquals(1, ruleFlowGroup1.size());
agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(1, ruleFlowGroup0.size()); ksession); agenda.unstageActivations(); agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(1, ruleFlowGroup0.size());
agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(1, ruleFlowGroup0.size());
agenda.activateRuleFlowGroup("rule-flow-group-0"); assertEquals(2, ruleFlowGroup0.size());