public StreamedSelfJoinSourcesExpressionGraph() { super( SearchOrder.Depth, true ); FlowElementExpression intermediate = new FlowElementExpression( HashJoin.class, TypeExpression.Topo.Linear ); this.arc( or( ElementCapture.Primary, new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut ) ), PathScopeExpression.ALL, intermediate ); this.arc( intermediate, PathScopeExpression.ALL, or( new FlowElementExpression( Tap.class ), new FlowElementExpression( Boundary.class ), new FlowElementExpression( Merge.class ), new FlowElementExpression( Group.class ) ) ); } }
public StreamedSelfJoinSourcesExpressionGraph() { super( SearchOrder.Depth, true ); FlowElementExpression intermediate = new FlowElementExpression( HashJoin.class, TypeExpression.Topo.Linear ); this.arc( or( ElementCapture.Primary, new FlowElementExpression( Tap.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Boundary.class, TypeExpression.Topo.LinearOut ), new FlowElementExpression( Group.class, TypeExpression.Topo.LinearOut ) ), PathScopeExpression.ALL, intermediate ); this.arc( intermediate, PathScopeExpression.ALL, or( new FlowElementExpression( Tap.class ), new FlowElementExpression( Boundary.class ), new FlowElementExpression( Merge.class ), new FlowElementExpression( Group.class ) ) ); } }