if ( sink instanceof PropagationQueuingNode ) {
nodes.put( sink.getId(),
((BaseNode)sink) );
}
if ( sink instanceof LeftTupleSource ) {
LeftTupleSource node = (LeftTupleSource) sink;
for ( LeftTupleSink leftTupleSink : node.getSinkPropagator().getSinks() ) {
addLeftTupleSink( ruleBase,
leftTupleSink,
nodes );
}
} else if ( sink instanceof WindowNode ) {
WindowNode node = (WindowNode) sink;
nodes.put( sink.getId(), ((BaseNode)sink) );
for ( ObjectSink objectSink : node.getSinkPropagator().getSinks() ) {
addObjectSink(ruleBase, objectSink, nodes);
}
} else {
ObjectSource node = ( ObjectSource ) sink;
for ( ObjectSink objectSink : node.getSinkPropagator().getSinks() ) {
addObjectSink( ruleBase,
objectSink,
nodes );
}
}