private BetaNode createBetaNode(int id, int type, LeftTupleSource leftTupleSource) { MockObjectSource mockObjectSource = new MockObjectSource( 8 ); BetaNode betaNode = null; switch ( type ) { case JOIN_NODE : { betaNode = new JoinNode( id, leftTupleSource, mockObjectSource, new EmptyBetaConstraints(), buildContext ); break; } case EXISTS_NODE : { betaNode = new ExistsNode( id, leftTupleSource, mockObjectSource, new EmptyBetaConstraints(), buildContext ); break; } case NOT_NODE : { betaNode = new NotNode( id, leftTupleSource, mockObjectSource, new EmptyBetaConstraints(), buildContext ); break; } } mockObjectSource.attach(buildContext); betaNode.attach(buildContext); return betaNode; }
joinNode.addTupleSink( sinkNode0 ); joinNode.addTupleSink( sinkNode1 ); joinNode.addTupleSink( sinkNode2 );
assertEquals( 2, bNode.getSinkPropagator().size() ); ExistsNode exists1n = ( ExistsNode) bNode.getSinkPropagator().getSinks()[1]; JoinNode cNode = ( JoinNode) bNode.getSinkPropagator().getSinks()[0]; JoinNode dNode = ( JoinNode) cNode.getSinkPropagator().getSinks()[0]; assertEquals( 2, dNode.getSinkPropagator().size() ); ExistsNode exists2n = ( ExistsNode) dNode.getSinkPropagator().getSinks()[1]; JoinNode eNode = ( JoinNode) dNode.getSinkPropagator().getSinks()[0]; JoinNode fNode = ( JoinNode) eNode.getSinkPropagator().getSinks()[0]; RightInputAdapterNode riaNode2 = ( RightInputAdapterNode ) fNode.getSinkPropagator().getSinks()[0]; assertEquals( exists2n, riaNode2.getObjectSinkPropagator().getSinks()[0] ); RuleTerminalNode rtn = ( RuleTerminalNode) gNode.getSinkPropagator().getSinks()[0];
assertSame( joinNodeB.getRightInput(), getObjectTypeNode(kbase, B.class ) ); JoinNode joinNodeC = ( JoinNode) joinNodeB.getSinkPropagator().getSinks()[0]; assertSame( joinNodeC.getRightInput(), getObjectTypeNode(kbase, C.class ) ); assertEquals( 2, joinNodeC.getSinkPropagator().size() ); JoinNode joinNodeD = ( JoinNode) joinNodeC.getSinkPropagator().getSinks()[0]; assertSame( joinNodeD.getRightInput(), getObjectTypeNode(kbase, D.class ) ); assertEquals( 2, joinNodeD.getSinkPropagator().size() ); assertSame( existsNode2, (( RightInputAdapterNode) joinNodeC.getSinkPropagator().getSinks()[1]).getObjectSinkPropagator().getSinks()[0] ); assertSame( existsNode3, (( RightInputAdapterNode) joinNodeD.getSinkPropagator().getSinks()[1]).getObjectSinkPropagator().getSinks()[0] );
final JoinNode joinNode = new JoinNode(1, this.tupleSource, this.objectSource, EmptyBetaConstraints.getInstance(), buildContext); joinNode.addTupleSink(sink1); joinNode.assertLeftTuple(tuple1, this.context, workingMemory); joinNode.modifyObject(string1Handle, modifyPreviousTuples, contextPassNothing, workingMemory); assertLength(0, sink1.getAsserted()); joinNode.setRightDeclaredMask(EmptyBitMask.get()); joinNode.initInferredMask(); joinNode.modifyObject(string1Handle, modifyPreviousTuples, contextPass2And3, workingMemory); assertLength(0, sink1.getAsserted()); joinNode.setRightDeclaredMask(new LongBitMask(9)); joinNode.initInferredMask(); joinNode.modifyObject(string1Handle, modifyPreviousTuples, contextPass2And3, workingMemory); assertLength(0, sink1.getAsserted()); joinNode.setRightDeclaredMask(new LongBitMask(3)); joinNode.initInferredMask(); joinNode.modifyObject(string1Handle, modifyPreviousTuples, contextPass2And3, workingMemory); assertLength(1, sink1.getAsserted()); joinNode.modifyObject(string1Handle, modifyPreviousTuples, contextPassAll, workingMemory); assertLength(2, sink1.getAsserted());
BuildContext buildContext = new BuildContext( kBase, kBase.getReteooBuilder().getIdGenerator() ); final JoinNode joinNode = new JoinNode( 1, this.tupleSource, this.objectSource, EmptyBetaConstraints.getInstance(), buildContext ); joinNode.addTupleSink( sink1 ); joinNode.assertLeftTuple( tuple1, this.context, workingMemory ); string1 ); joinNode.assertObject( string1Handle, this.context, workingMemory ); sink2.getAsserted() ); joinNode.updateSink( sink2, this.context, workingMemory );
JoinNode child1Node = new JoinNode(); JoinNode child2Node = new JoinNode(); JoinNode child3Node = new JoinNode(); parentNode.addTupleSink( child1Node ); parentNode.addTupleSink( child2Node ); parentNode.addTupleSink( child3Node );
JoinNode cNode = ( JoinNode) bNode.getSinkPropagator().getSinks()[0]; ExistsNode exists1n = ( ExistsNode) liaNode.getSinkPropagator().getSinks()[1]; EvalConditionNode evalNode = ( EvalConditionNode) exists1n.getSinkPropagator().getSinks()[0]; ExistsNode exists2n = ( ExistsNode) exists1n.getSinkPropagator().getSinks()[1]; JoinNode dNode = ( JoinNode) exists2n.getSinkPropagator().getSinks()[0]; RuleTerminalNode rtn = ( RuleTerminalNode) dNode.getSinkPropagator().getSinks()[0];
return new JoinNode(0, leftInput, rightInput, betaConstraints, buildContext); case NodeTypeEnums.NotNode: return new NotNode(0, leftInput, rightInput, betaConstraints, buildContext);
public void setupJoinNode() { buildContext = createContext(); joinNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ) .setLeftType( A.class ) .setBinding( "object", "$object" ) .setRightType( B.class ) .setConstraint( "object", "!=", "$object" ).build(); sinkNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ).build(); joinNode.addTupleSink( sinkNode ); wm = ((StatefulKnowledgeSessionImpl)buildContext.getKnowledgeBase().newKieSession()); bm = (BetaMemory) wm.getNodeMemory( joinNode ); bm0 =(BetaMemory) wm.getNodeMemory( sinkNode ); smem = new SegmentMemory( joinNode ) ; bm.setSegmentMemory( smem ); smem0 = new SegmentMemory( sinkNode ) ; bm0.setSegmentMemory( smem0 ); smem.add( smem0 ); }
JoinNode bNode = (JoinNode) liaNode.getSinkPropagator().getFirstLeftTupleSink(); JoinNode c1Node = (JoinNode) bNode.getSinkPropagator().getFirstLeftTupleSink(); JoinNode c2Node = (JoinNode) bNode.getSinkPropagator().getLastLeftTupleSink();
BetaNode n1 = new JoinNode( 10, new LeftInputAdapterNode(3, otn, buildContext ), mockObjectSource, new EmptyBetaConstraints(), buildContext ); BetaNode n2 = new JoinNode( 11, n1, mockObjectSource, new EmptyBetaConstraints(), buildContext ); BetaNode n3 = new JoinNode( 12, n1, mockObjectSource, new EmptyBetaConstraints(), buildContext ); BetaNode n4 = new JoinNode( 13, n2, mockObjectSource, new EmptyBetaConstraints(), buildContext ); BetaNode n5 = new JoinNode( 14, n2, mockObjectSource, new EmptyBetaConstraints(), buildContext );
public void setupJoinNode() { buildContext = createContext(); joinNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ) .setLeftType( A.class ) .setBinding( "object", "$object" ) .setRightType( B.class ) .setConstraint( "object", "!=", "$object" ).build(); sinkNode = (JoinNode) BetaNodeBuilder.create( NodeTypeEnums.JoinNode, buildContext ).build(); joinNode.addTupleSink( sinkNode ); wm = ((StatefulKnowledgeSessionImpl)buildContext.getKnowledgeBase().newKieSession()); bm =(BetaMemory) wm.getNodeMemory( joinNode ); bm0 =(BetaMemory) wm.getNodeMemory( sinkNode ); smem = new SegmentMemory( joinNode ) ; bm.setSegmentMemory( smem ); smem0 = new SegmentMemory( sinkNode ) ; bm0.setSegmentMemory( smem0 ); smem.add( smem0 ); }
JoinNode b1Node = (JoinNode) liaNode.getSinkPropagator().getFirstLeftTupleSink(); JoinNode b2Node = (JoinNode) liaNode.getSinkPropagator().getLastLeftTupleSink(); JoinNode c1Node = (JoinNode) b1Node.getSinkPropagator().getLastLeftTupleSink();
assertEquals( 2, bNode.getSinkPropagator().size() ); ExistsNode exists1n = ( ExistsNode) bNode.getSinkPropagator().getSinks()[1]; JoinNode cNode = ( JoinNode) bNode.getSinkPropagator().getSinks()[0]; JoinNode dNode = ( JoinNode) cNode.getSinkPropagator().getSinks()[0]; assertEquals( 1, dNode.getSinkPropagator().size() ); RightInputAdapterNode riaNode1 = ( RightInputAdapterNode ) dNode.getSinkPropagator().getSinks()[0]; RuleTerminalNode rtn = ( RuleTerminalNode ) eNode.getSinkPropagator().getSinks()[0];
switch ( type ) { case JOIN_NODE : { networkNode = new JoinNode( id, leftTupleSource, mockObjectSource, new EmptyBetaConstraints(), buildContext ); break;
JoinNode cNode = ( JoinNode) bNode.getSinkPropagator().getSinks()[0]; ExistsNode exists1n = ( ExistsNode) liaNode.getSinkPropagator().getSinks()[1]; EvalConditionNode evalNode = ( EvalConditionNode) exists1n.getSinkPropagator().getSinks()[0]; ExistsNode exists2n = ( ExistsNode) exists1n.getSinkPropagator().getSinks()[1]; JoinNode dNode = ( JoinNode) exists2n.getSinkPropagator().getSinks()[0]; RuleTerminalNode rtn = ( RuleTerminalNode) dNode.getSinkPropagator().getSinks()[0];
switch ( type ) { case JOIN_NODE : { networkNode = new JoinNode( id, leftTupleSource, mockObjectSource, new EmptyBetaConstraints(), buildContext ); break;
RuleTerminalNode rtn = ( RuleTerminalNode ) cNode.getSinkPropagator().getSinks()[0];