Simple(Source<Ex2> master, Source<Ex1> model) { OperatorDescription.Builder builder = new OperatorDescription.Builder(MasterBranch.class); builder.declare(MasterBranchFlow.class, MasterBranchFlowImpl.class, "simple"); builder.declareParameter(Ex2.class); builder.declareParameter(Ex1.class); builder.addInput( "master", Ex2.class, new ShuffleKey( Arrays.asList(new String[] {"string"}), Arrays.asList(new ShuffleKey.Order[] {}))); builder.addInput( "model", Ex1.class, new ShuffleKey( Arrays.asList(new String[] {"string"}), Arrays.asList(new ShuffleKey.Order[] {}))); builder.addOutput("high", Ex1.class); builder.addOutput("low", Ex1.class); builder.addOutput("stop", Ex1.class); builder.addAttribute(FlowBoundary.SHUFFLE); FlowElementResolver resolver = builder.toResolver(); resolver.resolveInput("master", master); resolver.resolveInput("model", model); this.high = resolver.resolveOutput("high"); this.low = resolver.resolveOutput("low"); this.stop = resolver.resolveOutput("stop"); }
Selection(Source<Ex2> master, Source<Ex1> model) { OperatorDescription.Builder builder0 = new OperatorDescription.Builder(MasterCheck.class); builder0.declare(MasterCheckFlow.class, MasterCheckFlowImpl.class, "selection"); builder0.declareParameter(Ex2.class); builder0.declareParameter(Ex1.class); builder0.addInput( "master", Ex2.class, new ShuffleKey( Arrays.asList(new String[] {"string"}), Arrays.asList(new ShuffleKey.Order[] {}))); builder0.addInput( "model", Ex1.class, new ShuffleKey( Arrays.asList(new String[] {"string"}), Arrays.asList(new ShuffleKey.Order[] {}))); builder0.addOutput("found", Ex1.class); builder0.addOutput("missed", Ex1.class); builder0.addAttribute( new OperatorHelper("selector", Arrays.asList(new Class<?>[] {List.class, Ex1.class}))); builder0.addAttribute(FlowBoundary.SHUFFLE); FlowElementResolver resolver0 = builder0.toResolver(); resolver0.resolveInput("master", master); resolver0.resolveInput("model", model); this.found = resolver0.resolveOutput("found"); this.missed = resolver0.resolveOutput("missed"); }
SelectionWithParameter1(Source<Ex2> master, Source<Ex1> model, int parameter) { OperatorDescription.Builder builder3 = new OperatorDescription.Builder(MasterBranch.class); builder3.declare( MasterBranchFlow.class, MasterBranchFlowImpl.class, "selectionWithParameter1"); builder3.declareParameter(Ex2.class); builder3.declareParameter(Ex1.class); builder3.declareParameter(int.class); builder3.addInput( "master", Ex2.class, new ShuffleKey( Arrays.asList(new String[] {"string"}), Arrays.asList(new ShuffleKey.Order[] {}))); builder3.addInput( "model", Ex1.class, new ShuffleKey( Arrays.asList(new String[] {"string"}), Arrays.asList(new ShuffleKey.Order[] {}))); builder3.addOutput("high", Ex1.class); builder3.addOutput("low", Ex1.class); builder3.addOutput("stop", Ex1.class); builder3.addParameter("parameter", int.class, parameter); builder3.addAttribute( new OperatorHelper( "selectorWithParameter", Arrays.asList(new Class<?>[] {List.class, Ex1.class, int.class}))); builder3.addAttribute(FlowBoundary.SHUFFLE); FlowElementResolver resolver3 = builder3.toResolver(); resolver3.resolveInput("master", master); resolver3.resolveInput("model", model); this.high = resolver3.resolveOutput("high"); this.low = resolver3.resolveOutput("low"); this.stop = resolver3.resolveOutput("stop"); }