Examples of RightTupleSets


Examples of org.drools.core.common.RightTupleSets

                           BetaMemory bm,
                           InternalWorkingMemory wm,
                           LeftTupleSets srcLeftTuples,
                           LeftTupleSets trgLeftTuples,
                           LeftTupleSets stagedLeftTuples) {
            RightTupleSets srcRightTuples = bm.getStagedRightTuples();

            if (srcLeftTuples.getDeleteFirst() != null) {
                // left deletes must come before right deletes. Otherwise right deletes could
                // stage an insertion, that is later deleted in the rightDelete, causing potential problems
                doLeftDeletes(notNode, sink, bm, wm, srcLeftTuples, trgLeftTuples, stagedLeftTuples);
            }

            if (srcRightTuples.getDeleteFirst() != null) {
                doRightDeletes(notNode, sink, bm, wm, srcRightTuples, trgLeftTuples);
            }

            if (srcLeftTuples.getUpdateFirst() != null || srcRightTuples.getUpdateFirst() != null) {
                dpUpdatesReorderLeftMemory(bm,
                                           wm,
                                           srcRightTuples,
                                           srcLeftTuples);
                // don't re-order the right memory, as update relies on getting the next rightTuple before reAdd
            }

            if (srcRightTuples.getUpdateFirst() != null) {
                doRightUpdates(notNode, sink, bm, wm, srcRightTuples, trgLeftTuples, stagedLeftTuples);
            }

            // not nodes must do right inserts, before doing left updates. Otherwise you end up with child
            // in trgLeftTuples, and insert thinks it's staged in stagedLeftTuples giving nullpointer.
            if (srcRightTuples.getInsertFirst() != null) {
                doRightInserts(notNode, sink, bm, wm, srcRightTuples, trgLeftTuples);
            }

            if (srcLeftTuples.getUpdateFirst() != null) {
                doLeftUpdates(notNode, sink, bm, wm, srcLeftTuples, trgLeftTuples, stagedLeftTuples);
            }

            if (srcLeftTuples.getInsertFirst() != null) {
                doLeftInserts(notNode, sink, bm, wm, srcLeftTuples, trgLeftTuples);
            }

            srcRightTuples.resetAll();
            srcLeftTuples.resetAll();
        }
View Full Code Here

Examples of org.drools.core.common.RightTupleSets

                           InternalWorkingMemory wm,
                           LeftTupleSets srcLeftTuples,
                           LeftTupleSets trgLeftTuples,
                           LeftTupleSets stagedLeftTuples) {

            RightTupleSets srcRightTuples = bm.getStagedRightTuples();

            if (srcRightTuples.getDeleteFirst() != null) {
                doRightDeletes(joinNode, bm, wm, srcRightTuples, trgLeftTuples, stagedLeftTuples);
            }

            if (srcLeftTuples.getDeleteFirst() != null) {
                doLeftDeletes(joinNode, bm, wm, srcLeftTuples, trgLeftTuples, stagedLeftTuples);
            }

            if (srcLeftTuples.getUpdateFirst() != null || srcRightTuples.getUpdateFirst() != null) {
                dpUpdatesReorderLeftMemory(bm, wm,
                                           srcRightTuples, srcLeftTuples);
                dpUpdatesReorderRightMemory(bm, wm,
                                            srcRightTuples, srcLeftTuples);
            }

            if (srcRightTuples.getUpdateFirst() != null) {
                doRightUpdates(joinNode, sink, bm, wm, srcRightTuples, trgLeftTuples, stagedLeftTuples);
            }

            if (srcLeftTuples.getUpdateFirst() != null) {
                doLeftUpdates(joinNode, sink, bm, wm, srcLeftTuples, trgLeftTuples, stagedLeftTuples);
            }

            if (srcRightTuples.getInsertFirst() != null) {
                doRightInserts(joinNode, sink, bm, wm, srcRightTuples, trgLeftTuples);
            }

            if (srcLeftTuples.getInsertFirst() != null) {
                doLeftInserts(joinNode, sink, bm, wm, srcLeftTuples, trgLeftTuples);
            }

            srcRightTuples.resetAll();
            srcLeftTuples.resetAll();
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.