Package org.drools.core.reteoo.LeftInputAdapterNode

Examples of org.drools.core.reteoo.LeftInputAdapterNode.LiaNodeMemory


        queryNodeMem.setSegmentMemory(smem);
    }

    public static SegmentMemory getQuerySegmentMemory(InternalWorkingMemory wm, LeftTupleSource segmentRoot, QueryElementNode queryNode) {
        LeftInputAdapterNode liaNode = getQueryLiaNode(queryNode.getQueryElement().getQueryName(), getQueryOtn(segmentRoot));
        LiaNodeMemory liam = (LiaNodeMemory) wm.getNodeMemory((MemoryFactory) liaNode);
        SegmentMemory querySmem = liam.getSegmentMemory();
        if (querySmem == null) {
            querySmem = createSegmentMemory(liaNode, wm);
        }
        return querySmem;
    }
View Full Code Here


        TimerNodeMemory tnMem = (TimerNodeMemory) smem.createNodeMemory( ( TimerNode ) tupleSource, wm );
        tnMem.setSegmentMemory(smem);
    }

    private static long processLiaNode(LeftInputAdapterNode tupleSource, InternalWorkingMemory wm, SegmentMemory smem, long nodePosMask, long allLinkedTestMask) {
        LiaNodeMemory liaMemory = (LiaNodeMemory) smem.createNodeMemory((LeftInputAdapterNode) tupleSource, wm);
        smem.setStagedTuples( new SynchronizedLeftTupleSets() ); // LiaNode SegmentMemory must have Synchronized LeftTupleSets
        liaMemory.setSegmentMemory(smem);
        liaMemory.setNodePosMaskBit(nodePosMask);
        allLinkedTestMask = allLinkedTestMask | nodePosMask;
        return allLinkedTestMask;
    }
View Full Code Here

        if ( this.leftTuple != null ) {
            for ( LeftTuple current = this.leftTuple; current != null; current = (LeftTuple) current.getLeftParentNext() ) {
                if ( unlinkingEnabled ) {
                    LeftInputAdapterNode liaNode = (LeftInputAdapterNode) current.getLeftTupleSink().getLeftTupleSource();
                    if (liaNode != null) { // can be null only in tests
                        LiaNodeMemory lm = ( LiaNodeMemory wm.getNodeMemory( liaNode );
                        LeftInputAdapterNode.doDeleteObject( current, pctx, lm.getSegmentMemory(), wm, liaNode, true, lm );
                    }
                } else {
                    current.getLeftTupleSink().retractLeftTuple( current,
                                                                 pctx,
                                                                 wm );                   
View Full Code Here

            LeftTupleSource lts = tnode.getLeftTupleSource();
            while ( lts.getType() != NodeTypeEnums.LeftInputAdapterNode ) {
                lts = lts.getLeftTupleSource();
            }
            LeftInputAdapterNode lian = ( LeftInputAdapterNode ) lts;
            LiaNodeMemory lmem = (LiaNodeMemory) getNodeMemory( (MemoryFactory) lts);
            SegmentMemory lsmem = lmem.getSegmentMemory();
            if ( lsmem == null ) {
                lsmem = SegmentUtilities.createSegmentMemory(lts, this);
            }
            LeftInputAdapterNode.doInsertObject( handle, pCtx, lian, this, lmem, false, queryObject.isOpen() );

            List<PathMemory> pmems =  lmem.getSegmentMemory().getPathMemories();
            for ( int i = 0, length = pmems.size(); i < length; i++ ) {
                PathMemory rm = pmems.get( i );


View Full Code Here

                                                                                      factHandle,
                                                                                      getEntryPoint() );

            if ( this.ruleBase.getConfiguration().isPhreakEnabled() ) {
                LeftInputAdapterNode lian = ( LeftInputAdapterNode ) factHandle.getFirstLeftTuple().getLeftTupleSink().getLeftTupleSource();
                LiaNodeMemory lmem = (LiaNodeMemory) getNodeMemory( (MemoryFactory) lian);
                SegmentMemory lsmem = lmem.getSegmentMemory();

                LeftTuple childLeftTuple = factHandle.getFirstLeftTuple(); // there is only one, all other LTs are peers
                LeftInputAdapterNode.doDeleteObject( childLeftTuple, childLeftTuple.getPropagationContext(),  lsmem, this, lian, false, lmem );

                List<PathMemory> pmems =  lmem.getSegmentMemory().getPathMemories();
                for ( int i = 0, length = pmems.size(); i < length; i++ ) {
                    PathMemory rm = pmems.get( i );

                    RuleAgendaItem evaluator = agenda.createRuleAgendaItem(Integer.MAX_VALUE, rm, (TerminalNode) rm.getNetworkNode());
                    evaluator.getRuleExecutor().setDirty(true);
View Full Code Here

        // retract any remaining LeftTuples
        if ( this.leftTuple != null ) {
            for ( LeftTuple current = this.leftTuple; current != null; current = (LeftTuple) current.getLeftParentNext() ) {
                if ( unlinkingEnabled ) {
                    LeftInputAdapterNode liaNode = (LeftInputAdapterNode) current.getLeftTupleSink().getLeftTupleSource();
                    LiaNodeMemory lm = ( LiaNodeMemory wm.getNodeMemory( liaNode );
                    LeftInputAdapterNode.doDeleteObject( current, context, lm.getSegmentMemory(), wm, liaNode, true, lm );
                } else {
                    current.getLeftTupleSink().retractLeftTuple( current,
                                                                 context,
                                                                 wm );                   
                }
View Full Code Here

            LeftTupleSource lts = tnode.getLeftTupleSource();
            while ( lts.getType() != NodeTypeEnums.LeftInputAdapterNode ) {
                lts = lts.getLeftTupleSource();
            }
            LeftInputAdapterNode lian = ( LeftInputAdapterNode ) lts;
            LiaNodeMemory lmem = (LiaNodeMemory) getNodeMemory( (MemoryFactory) lts);
            SegmentMemory lsmem = lmem.getSegmentMemory();
            if ( lsmem == null ) {
                lsmem = SegmentUtilities.createSegmentMemory(lts, this);
            }
            LeftInputAdapterNode.doInsertObject( handle, pCtx, lian, this, lmem, false, queryObject.isOpen() );

            List<PathMemory> rmems =  lmem.getSegmentMemory().getPathMemories();
            for ( int i = 0, length = rmems.size(); i < length; i++ ) {
                PathMemory rm = rmems.get( i );

                RuleNetworkEvaluatorActivation evaluator = agenda.createRuleNetworkEvaluatorActivation( Integer.MAX_VALUE, rm, rm.getRuleTerminalNode() );
                evaluator.evaluateNetwork(this);
View Full Code Here

                                                                                      factHandle,
                                                                                      getEntryPoint() );

            if ( this.ruleBase.getConfiguration().isPhreakEnabled() ) {
                LeftInputAdapterNode lian = ( LeftInputAdapterNode ) factHandle.getFirstLeftTuple().getLeftTupleSink().getLeftTupleSource();
                LiaNodeMemory lmem = (LiaNodeMemory) getNodeMemory( (MemoryFactory) lian);
                SegmentMemory lsmem = lmem.getSegmentMemory();

                LeftTuple childLeftTuple = factHandle.getFirstLeftTuple(); // there is only one, all other LTs are peers
                LeftInputAdapterNode.doDeleteObject( childLeftTuple, childLeftTuple.getPropagationContext(),  lsmem, this, lian, false, lmem );

                List<PathMemory> rmems =  lmem.getSegmentMemory().getPathMemories();
                for ( int i = 0, length = rmems.size(); i < length; i++ ) {
                    PathMemory rm = rmems.get( i );

                    RuleNetworkEvaluatorActivation evaluator = agenda.createRuleNetworkEvaluatorActivation( Integer.MAX_VALUE, rm, rm.getRuleTerminalNode() );
                    evaluator.evaluateNetwork(this);
View Full Code Here

                                                                 qmem.getSegmentMemory().getPathMemories(),
                                                                 qmem.getResultLeftTuples(),
                                                                 stackEntry.getSink(), wm);

                LeftInputAdapterNode lian = (LeftInputAdapterNode) qmem.getQuerySegmentMemory().getRootNode();
                LiaNodeMemory lm = (LiaNodeMemory) qmem.getQuerySegmentMemory().getNodeMemories().get(0);
                LeftInputAdapterNode.doInsertObject(handle, pCtx, lian, wm, lm, false, dquery.isOpen());

                leftTuple.clearStaged();
                leftTuple = next;
            }
View Full Code Here

                    LeftInputAdapterNode.doUpdateObject(childLeftTuple, childLeftTuple.getPropagationContext(), wm, lian, false, qmem.getQuerySegmentMemory());
                } else {
                    if (fh.getFirstLeftTuple() != null) {
                        throw new RuntimeException("defensive programming while testing"); // @TODO remove later (mdp)
                    }
                    LiaNodeMemory lm = (LiaNodeMemory) qmem.getQuerySegmentMemory().getNodeMemories().get(0);
                    LeftInputAdapterNode.doInsertObject(fh, leftTuple.getPropagationContext(), lian, wm, lm, false, dquery.isOpen());
                }


                leftTuple.clearStaged();
View Full Code Here

TOP

Related Classes of org.drools.core.reteoo.LeftInputAdapterNode.LiaNodeMemory

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.