@Test public void testBuild_ImplicitName() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 1); Dataset<String> filtered = Filter.of(dataset) .by(s -> !s.equals("")) .output(); Filter filter = (Filter) flow.operators().iterator().next(); assertEquals("Filter", filter.getName()); } }
@Test public void testDatasetConsumers() throws Exception { Dataset<Object> input = flow.createInput(new MockStreamDataSource<>()); Dataset<Object> transformed = MapElements.of(input).using(e -> e).output(); Dataset<Object> transformed2 = Filter.of(transformed).by(e -> false).output(); Dataset<Object> union = Union.of(transformed, transformed2).output(); assertEquals(1, input.getConsumers().size()); assertEquals(2, transformed.getConsumers().size()); assertEquals(1, transformed2.getConsumers().size()); assertEquals(0, union.getConsumers().size()); // the 'transformed' data set is consumed by Filter and Union operators assertEquals(toSet(Arrays.asList(Filter.class, Union.class)), toSet(transformed.getConsumers().stream().map(Object::getClass))); }
.by(c -> c.getValueLength() < 1024 * 1024) .output();
secondPair = Filter.of(secondPair).by(e -> true).output(); secondPair = MapElements.of(secondPair).using(e -> e).output();
@Test public void testBuild() { Flow flow = Flow.create("TEST"); Dataset<String> dataset = Util.createMockDataset(flow, 1); Dataset<String> filtered = Filter.named("Filter1") .of(dataset) .by(s -> !s.equals("")) .output(); assertEquals(flow, filtered.getFlow()); assertEquals(1, flow.size()); Filter filter = (Filter) flow.operators().iterator().next(); assertEquals(flow, filter.getFlow()); assertEquals("Filter1", filter.getName()); assertNotNull(filter.predicate); assertEquals(filtered, filter.output()); }
public Output<IN> output() { Dataset<IN> positiveOutput = Filter .named(name + POSITIVE_FILTER_SUFFIX) .of(input) .by(predicate) .output(); Dataset<IN> negativeOutput = Filter .named(name + NEGATIVE_FILTER_SUFFIX) .of(input) .by((UnaryPredicate<IN>) what -> !predicate.apply(what)) .output(); return new Output<>(positiveOutput, negativeOutput); } }
public Output<IN> output() { Dataset<IN> positiveOutput = Filter .named(name + POSITIVE_FILTER_SUFFIX) .of(input) .by(predicate) .output(); Dataset<IN> negativeOutput = Filter .named(name + NEGATIVE_FILTER_SUFFIX) .of(input) .by((UnaryPredicate<IN>) what -> !predicate.apply(what)) .output(); return new Output<>(positiveOutput, negativeOutput); } }
@Override protected Dataset<Integer> getOutput(Dataset<Integer> input) { return Filter.of(input) .by(e -> e % 2 == 0) .output(); }
@Override protected Dataset<Integer> getOutput(Dataset<Integer> input) { return Filter.of(input) .by(e -> e % 2 == 0) .output(); }