Package org.drools.core.reteoo

Examples of org.drools.core.reteoo.RuleTerminalNode


        BuildContext buildContext = new BuildContext( (InternalRuleBase) knowledgeBase.getRuleBase(), ((ReteooRuleBase) knowledgeBase.getRuleBase())
                .getReteooBuilder().getIdGenerator() );
        //simple rule that fires after 10 seconds
        final Rule rule = new Rule( "test-rule" );
        new RuleTerminalNode( 1, new MockTupleSource( 2 ), rule, rule.getLhs(), 0, buildContext );

        final List<String> fired = new ArrayList<String>();

        rule.setConsequence( new Consequence() {
            public void evaluate(KnowledgeHelper knowledgeHelper,
View Full Code Here


        kbase1.addKnowledgePackages( buildKnowledgePackage("r2", "   A() B() C() D() E()\n") );
        wm.fireAllRules();
        assertEquals( 13, countNodeMemories(wm.getNodeMemories()));
        assertEquals(4, list.size() );

        RuleTerminalNode rtn1 = getRtn("r1", kbase1);
        RuleTerminalNode rtn2 = getRtn("r2", kbase1);
        PathMemory pmem1 = ( PathMemory ) wm.getNodeMemory(rtn1);
        PathMemory pmem2 = ( PathMemory ) wm.getNodeMemory(rtn2);

        SegmentMemory[] smems1 = pmem1.getSegmentMemories();
        SegmentMemory[] smems2 = pmem2.getSegmentMemories();
        assertEquals(2, smems1.length );
        assertEquals(2, smems2.length );

        assertSame( smems1[0], smems2[0] );
        assertNotSame( smems1[1], smems2[1] );

        SegmentMemory sm = smems1[0];
        assertEquals( smems1[1], sm.getFirst() );

        JoinNode eNode1 = ( JoinNode ) rtn1.getLeftTupleSource();
        JoinNode eNode2 = ( JoinNode ) rtn2.getLeftTupleSource();
        assertSame( eNode1, eNode2 );

        pmem1 = ( PathMemory ) wm.getNodeMemory(rtn1);
        kbase1.removeRule("org.kie", "r2");
        System.out.println( "---" );
View Full Code Here

        wm.setGlobal("list", list);

        wm.insert(new E(1));
        wm.insert(new E(2));

        RuleTerminalNode rtn1 = getRtn( "r1", kbase1 );
        RuleTerminalNode rtn2 = getRtn( "r2", kbase1 );
        RuleTerminalNode rtn3 = getRtn( "r3", kbase1 );
        RuleTerminalNode rtn4 = getRtn( "r4", kbase1 );

        PathMemory pm1 = (PathMemory) wm.getNodeMemory(rtn1);
        SegmentMemory[] smems = pm1.getSegmentMemories();
        assertEquals(4, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
        assertNull( smems[3]);
        SegmentMemory sm = smems[2];
        assertEquals( 2, sm.getPos() );
        assertEquals( 4, sm.getSegmentPosMaskBit() );
        assertEquals( 4, pm1.getLinkedSegmentMask() );

        kbase1.addKnowledgePackages( buildKnowledgePackage("r5""   A(1;)  A(2;) B(1;) B(2;) \n") );

        smems = pm1.getSegmentMemories();
        assertEquals(5, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
        assertNull( smems[2]);

        sm = smems[3];
        assertEquals( 3, sm.getPos() );
        assertEquals( 8, sm.getSegmentPosMaskBit() );
        assertEquals( 8, pm1.getLinkedSegmentMask() );

        RuleTerminalNode rtn5 = getRtn( "r5", kbase1 );
        PathMemory pm5 = (PathMemory) wm.getNodeMemory(rtn5);
        smems = pm5.getSegmentMemories();
        assertEquals(2, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
View Full Code Here

        kbase1.addKnowledgePackages( buildKnowledgePackage("r2", "   A() B() C() D() E()\n") );

        ObjectTypeNode eotn = getObjectTypeNode(kbase1, E.class );
        JoinNode eNode = (JoinNode) eotn.getSinkPropagator().getSinks()[0];
        RuleTerminalNode rtn = ( RuleTerminalNode ) eNode.getSinkPropagator().getLastLeftTupleSink();

        PathMemory pm = (PathMemory) wm.getNodeMemory(rtn);
        SegmentMemory sm = pm.getSegmentMemory();
        assertEquals(2, sm.getStagedLeftTuples().insertSize());
View Full Code Here

        wm.setGlobal("list", list);

        wm.insert(new E(1));
        wm.insert(new E(2));

        RuleTerminalNode rtn1 = getRtn( "r1", kbase1 );
        RuleTerminalNode rtn2 = getRtn( "r2", kbase1 );
        RuleTerminalNode rtn3 = getRtn( "r3", kbase1 );
        RuleTerminalNode rtn4 = getRtn( "r4", kbase1 );

        PathMemory pm1 = (PathMemory) wm.getNodeMemory(rtn1);
        SegmentMemory[] smems = pm1.getSegmentMemories();
        assertEquals(4, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
        assertNull( smems[3]);
        SegmentMemory sm = smems[2];
        assertEquals( 2, sm.getPos() );
        assertEquals( 4, sm.getSegmentPosMaskBit() );
        assertEquals( 4, pm1.getLinkedSegmentMask() );

        kbase1.addKnowledgePackages( buildKnowledgePackage("r5""   A(1;)  A(2;) B(1;) B(2;) \n") );

        smems = pm1.getSegmentMemories();
        assertEquals(5, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
        assertNull( smems[2]);

        sm = smems[3];
        assertEquals( 3, sm.getPos() );
        assertEquals( 8, sm.getSegmentPosMaskBit() );
        assertEquals( 8, pm1.getLinkedSegmentMask() );

        RuleTerminalNode rtn5 = getRtn( "r5", kbase1 );
        PathMemory pm5 = (PathMemory) wm.getNodeMemory(rtn5);
        smems = pm5.getSegmentMemories();
        assertEquals(2, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
View Full Code Here

        wm.setGlobal("list", list);

        wm.insert(new D(1));
        wm.insert(new D(2));

        RuleTerminalNode rtn1 = getRtn( "r1", kbase1 );
        RuleTerminalNode rtn2 = getRtn( "r2", kbase1 );
        RuleTerminalNode rtn3 = getRtn( "r3", kbase1 );
        RuleTerminalNode rtn4 = getRtn( "r4", kbase1 );

        PathMemory pm1 = (PathMemory) wm.getNodeMemory(rtn1);
        SegmentMemory[] smems = pm1.getSegmentMemories();
        assertEquals(4, smems.length);
        assertNull( smems[0]);
        assertNull( smems[2]);
        assertNull( smems[3]);
        SegmentMemory sm = smems[1];
        assertEquals( 1, sm.getPos() );
        assertEquals( 2, sm.getSegmentPosMaskBit() );
        assertEquals( 2, pm1.getLinkedSegmentMask() );

        PathMemory pm3 = (PathMemory) wm.getNodeMemory(rtn3);
        SegmentMemory[] smemsP3 = pm3.getSegmentMemories();
        assertEquals(3, smemsP3.length);
        assertNull( smemsP3[0]);
        assertNull( smemsP3[2]);
        sm = smems[1];
        assertEquals( 1, sm.getPos() );
        assertEquals( 2, sm.getSegmentPosMaskBit() );
        assertEquals( 2, pm1.getLinkedSegmentMask() );

        kbase1.addKnowledgePackages( buildKnowledgePackage("r5""   A(1;)  A(2;) B(1;) B(2;) \n") );

        smems = pm1.getSegmentMemories();
        assertEquals(5, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
        assertNull( smems[3]);
        assertNull( smems[4]);
        sm = smems[2];
        assertEquals( 2, sm.getPos() );
        assertEquals( 4, sm.getSegmentPosMaskBit() );
        assertEquals( 4, pm1.getLinkedSegmentMask() );

        smems = pm3.getSegmentMemories();
        assertEquals(4, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
        assertNull( smems[3]);
        sm = smems[2];
        assertEquals( 2, sm.getPos() );
        assertEquals( 4, sm.getSegmentPosMaskBit() );
        assertEquals( 4, pm1.getLinkedSegmentMask() );

        RuleTerminalNode rtn5 = getRtn( "r5", kbase1 );
        PathMemory pm5 = (PathMemory) wm.getNodeMemory(rtn5);
        smems = pm5.getSegmentMemories();
        assertEquals(2, smems.length);
        assertNull( smems[0]);
        assertNull( smems[1]);
View Full Code Here

        wm.setGlobal("list", list);

        wm.insert(new D(1));
        wm.insert(new D(2));

        RuleTerminalNode rtn1 = getRtn( "r1", kbase1 );

        PathMemory pm1 = (PathMemory) wm.getNodeMemory(rtn1);
        SegmentMemory[] smems = pm1.getSegmentMemories();
        assertEquals(4, smems.length);
        assertNull( smems[0]);
        assertNull( smems[2]);
        assertNull( smems[3]);
        SegmentMemory sm = smems[1];
        assertEquals( 1, sm.getPos() );
        assertEquals( 2, sm.getSegmentPosMaskBit() );
        assertEquals( 2, pm1.getLinkedSegmentMask() );

        kbase1.addKnowledgePackages( buildKnowledgePackage("r5", "   A(1;)  A(2;) B(1;) B(2;) C(1;) C(2;) D(1;) D(3;)\n") );

        smems = pm1.getSegmentMemories();
        assertEquals(5, smems.length);
        assertNull( smems[0]);
        assertNull( smems[3]);
        assertNull( smems[4]);
        sm = smems[1];
        assertEquals( 1, sm.getPos() );
        assertEquals( 2, sm.getSegmentPosMaskBit() );
        assertEquals( 6, pm1.getLinkedSegmentMask() );

        sm = smems[2];
        assertEquals( 2, sm.getPos() );
        assertEquals( 4, sm.getSegmentPosMaskBit() );
        assertEquals( 6, pm1.getLinkedSegmentMask() );

        RuleTerminalNode rtn5 = getRtn( "r5", kbase1 );
        PathMemory pm5 = (PathMemory) wm.getNodeMemory(rtn5);
        smems = pm5.getSegmentMemories();
        assertEquals(3, smems.length);
        assertNull( smems[0]);
        sm = smems[1];
View Full Code Here

        KnowledgePackageImpl impl = new KnowledgePackageImpl( "test" );

        BuildContext buildContext = new BuildContext( knowledgeBase, knowledgeBase.getReteooBuilder().getIdGenerator() );
        //simple rule that fires after 10 seconds
        final RuleImpl rule = new RuleImpl( "test-rule" );
        new RuleTerminalNode( 1, new MockTupleSource( 2 ), rule, rule.getLhs(), 0, buildContext );

        final List<String> fired = new ArrayList<String>();

        rule.setConsequence( new Consequence() {
            public void evaluate(KnowledgeHelper knowledgeHelper,
View Full Code Here

        final HashMap map = new HashMap();
        workingMemory.setGlobal( "map",
                                 map );

        final LeftTupleImpl tuple = new MockTuple( new HashMap() );
        tuple.setLeftTupleSink( new RuleTerminalNode(1, new CompositeObjectSinkAdapterTest.MockBetaNode(), rule,rule.getLhs(), 0,new BuildContext(kBase, null) )  );
        final Activation activation = new MockActivation( rule,
                                                          0,
                                                          rule.getLhs(),
                                                          tuple );
View Full Code Here

        workingMemory.setGlobal( "map",
                                 map );

        final LeftTupleImpl tuple = new MockTuple( new HashMap() );
        tuple.setLeftTupleSink( new RuleTerminalNode(1, new CompositeObjectSinkAdapterTest.MockBetaNode(), newRule,newRule.getLhs(), 0, new BuildContext(kBase, null) )  );
        final Activation activation = new MockActivation( newRule,
                                                          0,
                                                          newRule.getLhs(),
                                                          tuple );
View Full Code Here

TOP

Related Classes of org.drools.core.reteoo.RuleTerminalNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.