Package org.drools.reteoo.RightInputAdapterNode

Examples of org.drools.reteoo.RightInputAdapterNode.RiaNodeMemory


                       createSegmentMemory( (NotNode) sink, wm );
                   }
              }
              updateRiaAndTerminalMemory(++pos, ( LeftTupleSource ) sink, originalLt, smem, wm);
          } else if ( sink.getType() == NodeTypeEnums.RightInputAdaterNode) {
              RiaNodeMemory memory = ( RiaNodeMemory ) smem.createNodeMemory( (MemoryFactory) sink, wm  );                 
              // Only add the RIANode, if the LeftTupleSource is part of the RIANode subnetwork.
              if ( inSubNetwork( (RightInputAdapterNode)sink, originalLt ) ) {             
                  smem.getRuleMemories().add( memory.getRuleSegments() );
              }
          } else if ( NodeTypeEnums.isTerminalNode( sink) ) {
              RuleMemory rmem = ( RuleMemory ) smem.createNodeMemory( (MemoryFactory) sink, wm  );
                smem.getRuleMemories().add( rmem );
                rmem.getSegmentMemories()[smem.getPos()] = smem;
View Full Code Here


    }

    private static ProtobufMessages.NodeMemory writeRIANodeMemory(final int nodeId,
                                                                  final Memory memory) {
        // for RIA nodes, we need to store the ID of the created handles
        RiaNodeMemory mem = (RiaNodeMemory) memory;
        if( ! mem.getMap().isEmpty() ) {
            ProtobufMessages.NodeMemory.RIANodeMemory.Builder _ria = ProtobufMessages.NodeMemory.RIANodeMemory.newBuilder();
           
            final org.drools.core.util.Iterator it = mem.getMap().iterator();
            // iterates over all propagated handles and assert them to the new sink
            for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
                LeftTuple leftTuple = (LeftTuple) entry.getKey();
                InternalFactHandle handle = (InternalFactHandle) entry.getValue();
                FactHandle _handle = ProtobufMessages.FactHandle.newBuilder()
View Full Code Here

                } else {
                    // rtn or rian
                    // While not technically in a segment, we want to be able to iterate easily from the last node memory to the ria/rtn memory
                    // we don't use createNodeMemory, as these may already have been created by, but not added, by the method updateRiaAndTerminalMemory
                    if ( firstSink.getType() == NodeTypeEnums.RightInputAdaterNode) {
                        RiaNodeMemory memory = ( RiaNodeMemory) wm.getNodeMemory( (MemoryFactory) firstSink );
                        smem.getNodeMemories().add( memory.getRiaRuleMemory() );                       
                        memory.getRiaRuleMemory().setSegmentMemory( smem );
                    } else if ( NodeTypeEnums.isTerminalNode( firstSink) ) {            
                        RuleMemory rmem = ( RuleMemory ) wm.getNodeMemory( (MemoryFactory) firstSink );
                        smem.getNodeMemories().add( rmem );
                        rmem.setSegmentMemory( smem );
                    }                   
View Full Code Here

              }
              updateRiaAndTerminalMemory(++pos, ( LeftTupleSource ) sink, originalLt, smem, wm);
          } else if ( sink.getType() == NodeTypeEnums.RightInputAdaterNode) {     
              // Only add the RIANode, if the LeftTupleSource is part of the RIANode subnetwork.
              if ( inSubNetwork( (RightInputAdapterNode)sink, originalLt ) ) {
                  RiaNodeMemory riaMem = ( RiaNodeMemory) wm.getNodeMemory( (MemoryFactory) sink );
                  RuleMemory rmem = ( RuleMemory ) riaMem.getRiaRuleMemory();
                    smem.getRuleMemories().add( rmem );
                    rmem.getSegmentMemories()[smem.getPos()] = smem;
              }
          } else if ( NodeTypeEnums.isTerminalNode( sink) ) {             
              RuleMemory rmem = ( RuleMemory ) wm.getNodeMemory( (MemoryFactory) sink );
View Full Code Here

    }

    private static ProtobufMessages.NodeMemory writeRIANodeMemory(final int nodeId,
                                                                  final Memory memory) {
        // for RIA nodes, we need to store the ID of the created handles
        RiaNodeMemory mem = (RiaNodeMemory) memory;
        if( ! mem.getMap().isEmpty() ) {
            ProtobufMessages.NodeMemory.RIANodeMemory.Builder _ria = ProtobufMessages.NodeMemory.RIANodeMemory.newBuilder();
           
            final org.drools.core.util.Iterator it = mem.getMap().iterator();
            // iterates over all propagated handles and assert them to the new sink
            for ( ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next() ) {
                LeftTuple leftTuple = (LeftTuple) entry.getKey();
                InternalFactHandle handle = (InternalFactHandle) entry.getValue();
                FactHandle _handle = ProtobufMessages.FactHandle.newBuilder()
View Full Code Here

           
            srcTuples = peerTuples;
        }                   
       
        RightInputAdapterNode riaNode = ( RightInputAdapterNode ) betaNode.getRightInput();
        RiaNodeMemory riaNodeMemory = ( RiaNodeMemory ) wm.getNodeMemory( (MemoryFactory) betaNode.getRightInput() );                   
        LeftTupleSets riaStagedTuples = eval( ( LeftTupleSink ) subSmem.getRootNode(), subSmem.getNodeMemories().getFirst(), riaNodeMemory.getRiaRuleMemory().getSegmentMemories(), subSmem.getPos(), subSmem.getStagedLeftTuples(), null, wm );
       
        for ( LeftTuple leftTuple = riaStagedTuples.getInsertFirst(); leftTuple != null; ) {
            LeftTuple next = leftTuple.getStagedNext();
           
            InternalFactHandle handle = riaNode.createFactHandle( leftTuple, leftTuple.getPropagationContext(), wm );
View Full Code Here

TOP

Related Classes of org.drools.reteoo.RightInputAdapterNode.RiaNodeMemory

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.