Rename DoFn.ExtraContextFactory to DoFn.ArgumentProvider The prior name started in the right place, but the role has gradually morphed into a provider for all DoFn method arguments.
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/469c689c Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/469c689c Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/469c689c Branch: refs/heads/master Commit: 469c689cc6bd0fe74658bf95b1e206cef3e0711d Parents: 503f26f Author: Kenneth Knowles <k...@google.com> Authored: Mon Nov 14 22:19:35 2016 -0800 Committer: Kenneth Knowles <k...@google.com> Committed: Tue Nov 15 13:11:40 2016 -0800 ---------------------------------------------------------------------- .../beam/runners/core/SimpleDoFnRunner.java | 4 +-- .../beam/runners/core/SplittableParDo.java | 16 ++++++---- .../org/apache/beam/sdk/transforms/DoFn.java | 8 ++--- .../beam/sdk/transforms/DoFnAdapters.java | 10 +++---- .../reflect/ByteBuddyDoFnInvokerFactory.java | 15 +++++----- .../reflect/ByteBuddyOnTimerInvokerFactory.java | 4 +-- .../sdk/transforms/reflect/DoFnInvoker.java | 2 +- .../sdk/transforms/reflect/DoFnInvokers.java | 3 +- .../sdk/transforms/reflect/OnTimerInvoker.java | 2 +- .../transforms/reflect/DoFnInvokersTest.java | 31 ++++++++++---------- .../transforms/reflect/OnTimerInvokersTest.java | 7 ++--- .../transforms/DoFnInvokersBenchmark.java | 8 ++--- 12 files changed, 56 insertions(+), 54 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java ---------------------------------------------------------------------- diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java index 1550303..c046d11 100644 --- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java +++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java @@ -179,7 +179,7 @@ public class SimpleDoFnRunner<InputT, OutputT> implements DoFnRunner<InputT, Out * @param <OutputT> the type of the {@link DoFn} (main) output elements */ private static class DoFnContext<InputT, OutputT> extends DoFn<InputT, OutputT>.Context - implements DoFn.ExtraContextFactory<InputT, OutputT> { + implements DoFn.ArgumentProvider<InputT, OutputT> { private static final int MAX_SIDE_OUTPUTS = 1000; final PipelineOptions options; @@ -422,7 +422,7 @@ public class SimpleDoFnRunner<InputT, OutputT> implements DoFnRunner<InputT, Out * @param <OutputT> the type of the {@link DoFn} (main) output elements */ private class DoFnProcessContext<InputT, OutputT> extends DoFn<InputT, OutputT>.ProcessContext - implements DoFn.ExtraContextFactory<InputT, OutputT> { + implements DoFn.ArgumentProvider<InputT, OutputT> { final DoFn<InputT, OutputT> fn; final DoFnContext<InputT, OutputT> context; http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java ---------------------------------------------------------------------- diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java index e344f92..3003984 100644 --- a/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java +++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/SplittableParDo.java @@ -391,19 +391,23 @@ public class SplittableParDo< }; } - /** Creates an {@link DoFn.ExtraContextFactory} that provides just the given tracker. */ - private DoFn.ExtraContextFactory<InputT, OutputT> wrapTracker( + /** + * Creates an {@link DoFn.ArgumentProvider} that provides the given tracker as well as the given + * {@link ProcessContext} (which is also provided when a {@link Context} is requested. + */ + private DoFn.ArgumentProvider<InputT, OutputT> wrapTracker( TrackerT tracker, DoFn<InputT, OutputT>.ProcessContext processContext) { - return new ExtraContextFactoryForTracker<>(tracker, processContext); + + return new ArgumentProviderForTracker<>(tracker, processContext); } - private static class ExtraContextFactoryForTracker< + private static class ArgumentProviderForTracker< InputT, OutputT, TrackerT extends RestrictionTracker<?>> - implements DoFn.ExtraContextFactory<InputT, OutputT> { + implements DoFn.ArgumentProvider<InputT, OutputT> { private final TrackerT tracker; private final DoFn<InputT, OutputT>.ProcessContext processContext; - ExtraContextFactoryForTracker( + ArgumentProviderForTracker( TrackerT tracker, DoFn<InputT, OutputT>.ProcessContext processContext) { this.tracker = tracker; this.processContext = processContext; http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java index 3c8e613..bf0631b 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFn.java @@ -341,7 +341,7 @@ public abstract class DoFn<InputT, OutputT> implements Serializable, HasDisplayD * <p>In the case of {@link ProcessElement} it is called once per invocation of * {@link ProcessElement}. */ - public interface ExtraContextFactory<InputT, OutputT> { + public interface ArgumentProvider<InputT, OutputT> { /** * Construct the {@link BoundedWindow} to use within a {@link DoFn} that * needs it. This is called if the {@link ProcessElement} method has a parameter of type @@ -413,9 +413,9 @@ public abstract class DoFn<InputT, OutputT> implements Serializable, HasDisplayD T get(); } - /** For testing only, this {@link ExtraContextFactory} returns {@code null} for all parameters. */ - public static class FakeExtraContextFactory<InputT, OutputT> - implements ExtraContextFactory<InputT, OutputT> { + /** For testing only, this {@link ArgumentProvider} returns {@code null} for all parameters. */ + public static class FakeArgumentProvider<InputT, OutputT> + implements ArgumentProvider<InputT, OutputT> { @Override public DoFn<InputT, OutputT>.ProcessContext processContext(DoFn<InputT, OutputT> doFn) { return null; http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java index 73a1e40..71a6d1d 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/DoFnAdapters.java @@ -77,7 +77,7 @@ public class DoFnAdapters { public static <InputT, OutputT> OldDoFn<InputT, OutputT>.ProcessContext adaptProcessContext( OldDoFn<InputT, OutputT> fn, final DoFn<InputT, OutputT>.ProcessContext c, - final DoFn.ExtraContextFactory<InputT, OutputT> extra) { + final DoFn.ArgumentProvider<InputT, OutputT> extra) { return fn.new ProcessContext() { @Override public InputT element() { @@ -270,12 +270,12 @@ public class DoFnAdapters { } /** - * Wraps an {@link OldDoFn.Context} as a {@link DoFn.ExtraContextFactory} inside a {@link + * Wraps an {@link OldDoFn.Context} as a {@link DoFn.ArgumentProvider} inside a {@link * DoFn.StartBundle} or {@link DoFn.FinishBundle} method, which means the extra context is * unavailable. */ private static class ContextAdapter<InputT, OutputT> extends DoFn<InputT, OutputT>.Context - implements DoFn.ExtraContextFactory<InputT, OutputT> { + implements DoFn.ArgumentProvider<InputT, OutputT> { private OldDoFn<InputT, OutputT>.Context context; @@ -371,11 +371,11 @@ public class DoFnAdapters { } /** - * Wraps an {@link OldDoFn.ProcessContext} as a {@link DoFn.ExtraContextFactory} method. + * Wraps an {@link OldDoFn.ProcessContext} as a {@link DoFn.ArgumentProvider} method. */ private static class ProcessContextAdapter<InputT, OutputT> extends DoFn<InputT, OutputT>.ProcessContext - implements DoFn.ExtraContextFactory<InputT, OutputT> { + implements DoFn.ArgumentProvider<InputT, OutputT> { private OldDoFn<InputT, OutputT>.ProcessContext context; http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyDoFnInvokerFactory.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyDoFnInvokerFactory.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyDoFnInvokerFactory.java index 38e1141..c137255 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyDoFnInvokerFactory.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyDoFnInvokerFactory.java @@ -64,7 +64,6 @@ import org.apache.beam.sdk.coders.CannotProvideCoderException; import org.apache.beam.sdk.coders.Coder; import org.apache.beam.sdk.coders.CoderRegistry; import org.apache.beam.sdk.transforms.DoFn; -import org.apache.beam.sdk.transforms.DoFn.ExtraContextFactory; import org.apache.beam.sdk.transforms.DoFn.ProcessElement; import org.apache.beam.sdk.transforms.reflect.DoFnSignature.Parameter.Cases; import org.apache.beam.sdk.transforms.reflect.DoFnSignature.Parameter.ContextParameter; @@ -101,7 +100,7 @@ public class ByteBuddyDoFnInvokerFactory implements DoFnInvokerFactory { /** * Creates a {@link DoFnInvoker} for the given {@link DoFn} by generating bytecode that directly - * invokes its methods with arguments extracted from the {@link ExtraContextFactory}. + * invokes its methods with arguments extracted from the {@link DoFn.ArgumentProvider}. */ @Override public <InputT, OutputT> DoFnInvoker<InputT, OutputT> invokerFor(DoFn<InputT, OutputT> fn) { @@ -428,18 +427,18 @@ public class ByteBuddyDoFnInvokerFactory implements DoFnInvokerFactory { String methodName, Class<?>... parameterTypes) { try { return new MethodDescription.ForLoadedMethod( - ExtraContextFactory.class.getMethod(methodName, parameterTypes)); + DoFn.ArgumentProvider.class.getMethod(methodName, parameterTypes)); } catch (Exception e) { throw new IllegalStateException( String.format( "Failed to locate required method %s.%s", - ExtraContextFactory.class.getSimpleName(), methodName), + DoFn.ArgumentProvider.class.getSimpleName(), methodName), e); } } /** - * Calls a zero-parameter getter on the {@link ExtraContextFactory}, which must be on top of the + * Calls a zero-parameter getter on the {@link DoFn.ArgumentProvider}, which must be on top of the * stack. */ private static StackManipulation simpleExtraContextParameter(String methodName) { @@ -489,7 +488,7 @@ public class ByteBuddyDoFnInvokerFactory implements DoFnInvokerFactory { @Override public StackManipulation dispatch(RestrictionTrackerParameter p) { - // ExtraContextFactory.restrictionTracker() returns a RestrictionTracker, + // DoFn.ArgumentProvider.restrictionTracker() returns a RestrictionTracker, // but the @ProcessElement method expects a concrete subtype of it. // Insert a downcast. return new StackManipulation.Compound( @@ -545,9 +544,9 @@ public class ByteBuddyDoFnInvokerFactory implements DoFnInvokerFactory { @Override protected StackManipulation beforeDelegation(MethodDescription instrumentedMethod) { // Parameters of the wrapper invoker method: - // DoFn.ProcessContext, ExtraContextFactory. + // DoFn.ArgumentProvider // Parameters of the wrapped DoFn method: - // DoFn.ProcessContext, [BoundedWindow, InputProvider, OutputReceiver] in any order + // [DoFn.ProcessContext, BoundedWindow, InputProvider, OutputReceiver] in any order ArrayList<StackManipulation> pushParameters = new ArrayList<>(); // To load the delegate, push `this` and then access the field http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyOnTimerInvokerFactory.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyOnTimerInvokerFactory.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyOnTimerInvokerFactory.java index 3060733..4e53757 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyOnTimerInvokerFactory.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/ByteBuddyOnTimerInvokerFactory.java @@ -176,7 +176,7 @@ class ByteBuddyOnTimerInvokerFactory implements OnTimerInvokerFactory { .withParameter(fnClass) .intercept(new InvokerConstructor()) - // public invokeOnTimer(ExtraContextFactory) { + // public invokeOnTimer(DoFn.ArgumentProvider) { // this.delegate.<@OnTimer method>(... pass the right args ...) // } .method(ElementMatchers.named("invokeOnTimer")) @@ -211,7 +211,7 @@ class ByteBuddyOnTimerInvokerFactory implements OnTimerInvokerFactory { @Override protected StackManipulation beforeDelegation(MethodDescription instrumentedMethod) { // Parameters of the wrapper invoker method: - // ExtraContextFactory. + // DoFn.ArgumentProvider // Parameters of the wrapped DoFn method: // a dynamic set of allowed "extra" parameters in any order subject to // validation prior to getting the DoFnSignature http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvoker.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvoker.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvoker.java index d7011a2..ce68d0b 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvoker.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvoker.java @@ -48,7 +48,7 @@ public interface DoFnInvoker<InputT, OutputT> { * @return The {@link DoFn.ProcessContinuation} returned by the underlying method, or {@link * DoFn.ProcessContinuation#stop()} if it returns {@code void}. */ - DoFn.ProcessContinuation invokeProcessElement(DoFn.ExtraContextFactory<InputT, OutputT> extra); + DoFn.ProcessContinuation invokeProcessElement(DoFn.ArgumentProvider<InputT, OutputT> extra); /** Invoke the {@link DoFn.GetInitialRestriction} method on the bound {@link DoFn}. */ <RestrictionT> RestrictionT invokeGetInitialRestriction(InputT element); http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java index c9e4bf1..9a96985 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokers.java @@ -24,7 +24,6 @@ import java.util.Map; import org.apache.beam.sdk.coders.Coder; import org.apache.beam.sdk.coders.CoderRegistry; import org.apache.beam.sdk.transforms.DoFn; -import org.apache.beam.sdk.transforms.DoFn.ExtraContextFactory; import org.apache.beam.sdk.transforms.DoFnAdapters; import org.apache.beam.sdk.transforms.OldDoFn; import org.apache.beam.sdk.transforms.splittabledofn.RestrictionTracker; @@ -101,7 +100,7 @@ public class DoFnInvokers { @Override public DoFn.ProcessContinuation invokeProcessElement( - ExtraContextFactory<InputT, OutputT> extra) { + DoFn.ArgumentProvider<InputT, OutputT> extra) { // The outer DoFn is immaterial - it exists only to avoid typing InputT and OutputT repeatedly DoFn<InputT, OutputT>.ProcessContext newCtx = extra.processContext(new DoFn<InputT, OutputT>() {}); http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvoker.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvoker.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvoker.java index de9d667..f87fa74 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvoker.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvoker.java @@ -23,5 +23,5 @@ import org.apache.beam.sdk.transforms.DoFn; interface OnTimerInvoker<InputT, OutputT> { /** Invoke the {@link DoFn.OnTimer} method in the provided context. */ - void invokeOnTimer(DoFn.ExtraContextFactory<InputT, OutputT> extra); + void invokeOnTimer(DoFn.ArgumentProvider<InputT, OutputT> extra); } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokersTest.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokersTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokersTest.java index 95dc643..c7b71ff 100644 --- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokersTest.java +++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/DoFnInvokersTest.java @@ -39,7 +39,8 @@ import org.apache.beam.sdk.coders.CoderRegistry; import org.apache.beam.sdk.coders.CustomCoder; import org.apache.beam.sdk.coders.VarIntCoder; import org.apache.beam.sdk.transforms.DoFn; -import org.apache.beam.sdk.transforms.DoFn.ExtraContextFactory; +import org.apache.beam.sdk.transforms.DoFn.ArgumentProvider; +import org.apache.beam.sdk.transforms.DoFn.FakeArgumentProvider; import org.apache.beam.sdk.transforms.DoFn.ProcessContinuation; import org.apache.beam.sdk.transforms.OldDoFn; import org.apache.beam.sdk.transforms.reflect.testhelper.DoFnInvokersTestHelper; @@ -76,22 +77,22 @@ public class DoFnInvokersTest { @Mock private DoFn.InputProvider<String> mockInputProvider; @Mock private DoFn.OutputReceiver<String> mockOutputReceiver; @Mock private WindowingInternals<String, String> mockWindowingInternals; - @Mock private ExtraContextFactory<String, String> extraContextFactory; + @Mock private ArgumentProvider<String, String> mockArgumentProvider; @Mock private OldDoFn<String, String> mockOldDoFn; @Before public void setUp() { MockitoAnnotations.initMocks(this); - when(extraContextFactory.window()).thenReturn(mockWindow); - when(extraContextFactory.inputProvider()).thenReturn(mockInputProvider); - when(extraContextFactory.outputReceiver()).thenReturn(mockOutputReceiver); - when(extraContextFactory.windowingInternals()).thenReturn(mockWindowingInternals); - when(extraContextFactory.processContext(Matchers.<DoFn>any())).thenReturn(mockProcessContext); + when(mockArgumentProvider.window()).thenReturn(mockWindow); + when(mockArgumentProvider.inputProvider()).thenReturn(mockInputProvider); + when(mockArgumentProvider.outputReceiver()).thenReturn(mockOutputReceiver); + when(mockArgumentProvider.windowingInternals()).thenReturn(mockWindowingInternals); + when(mockArgumentProvider.processContext(Matchers.<DoFn>any())).thenReturn(mockProcessContext); } private ProcessContinuation invokeProcessElement(DoFn<String, String> fn) { - return DoFnInvokers.invokerFor(fn).invokeProcessElement(extraContextFactory); + return DoFnInvokers.invokerFor(fn).invokeProcessElement(mockArgumentProvider); } @Test @@ -188,7 +189,7 @@ public class DoFnInvokersTest { public void testDoFnWithState() throws Exception { ValueState<Integer> mockState = mock(ValueState.class); final String stateId = "my-state-id-here"; - when(extraContextFactory.state(stateId)).thenReturn(mockState); + when(mockArgumentProvider.state(stateId)).thenReturn(mockState); class MockFn extends DoFn<String, String> { @StateId(stateId) @@ -212,7 +213,7 @@ public class DoFnInvokersTest { public void testDoFnWithTimer() throws Exception { Timer mockTimer = mock(Timer.class); final String timerId = "my-timer-id-here"; - when(extraContextFactory.timer(timerId)).thenReturn(mockTimer); + when(mockArgumentProvider.timer(timerId)).thenReturn(mockTimer); class MockFn extends DoFn<String, String> { @TimerId(timerId) @@ -404,7 +405,7 @@ public class DoFnInvokersTest { assertEquals( ProcessContinuation.resume(), invoker.invokeProcessElement( - new DoFn.FakeExtraContextFactory<String, String>() { + new FakeArgumentProvider<String, String>() { @Override public DoFn<String, String>.ProcessContext processContext(DoFn<String, String> fn) { return mockProcessContext; @@ -455,7 +456,7 @@ public class DoFnInvokersTest { } }); assertEquals( - ProcessContinuation.stop(), invoker.invokeProcessElement(extraContextFactory)); + ProcessContinuation.stop(), invoker.invokeProcessElement(mockArgumentProvider)); } // --------------------------------------------------------------------------------------- @@ -534,7 +535,7 @@ public class DoFnInvokersTest { }); thrown.expect(UserCodeException.class); thrown.expectMessage("bogus"); - invoker.invokeProcessElement(new DoFn.FakeExtraContextFactory<Integer, Integer>() { + invoker.invokeProcessElement(new FakeArgumentProvider<Integer, Integer>() { @Override public DoFn<Integer, Integer>.ProcessContext processContext(DoFn<Integer, Integer> fn) { return null; @@ -565,7 +566,7 @@ public class DoFnInvokersTest { return null; } }) - .invokeProcessElement(new DoFn.FakeExtraContextFactory<Integer, Integer>()); + .invokeProcessElement(new FakeArgumentProvider<Integer, Integer>()); } @Test @@ -611,7 +612,7 @@ public class DoFnInvokersTest { @Test public void testOldDoFnProcessElement() throws Exception { new DoFnInvokers.OldDoFnInvoker<>(mockOldDoFn) - .invokeProcessElement(extraContextFactory); + .invokeProcessElement(mockArgumentProvider); verify(mockOldDoFn).processElement(any(OldDoFn.ProcessContext.class)); } http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokersTest.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokersTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokersTest.java index d29810c..d51e9cc 100644 --- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokersTest.java +++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/reflect/OnTimerInvokersTest.java @@ -23,7 +23,6 @@ import static org.junit.Assert.assertThat; import static org.mockito.Mockito.when; import org.apache.beam.sdk.transforms.DoFn; -import org.apache.beam.sdk.transforms.DoFn.ExtraContextFactory; import org.apache.beam.sdk.transforms.windowing.BoundedWindow; import org.apache.beam.sdk.util.TimeDomain; import org.apache.beam.sdk.util.TimerSpec; @@ -44,16 +43,16 @@ public class OnTimerInvokersTest { @Mock private BoundedWindow mockWindow; - @Mock private ExtraContextFactory<String, String> mockExtraContextFactory; + @Mock private DoFn.ArgumentProvider<String, String> mockArgumentProvider; @Before public void setUp() { MockitoAnnotations.initMocks(this); - when(mockExtraContextFactory.window()).thenReturn(mockWindow); + when(mockArgumentProvider.window()).thenReturn(mockWindow); } private void invokeOnTimer(DoFn<String, String> fn, String timerId) { - OnTimerInvokers.forTimer(fn, timerId).invokeOnTimer(mockExtraContextFactory); + OnTimerInvokers.forTimer(fn, timerId).invokeOnTimer(mockArgumentProvider); } @Test http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/469c689c/sdks/java/microbenchmarks/src/main/java/org/apache/beam/sdk/microbenchmarks/transforms/DoFnInvokersBenchmark.java ---------------------------------------------------------------------- diff --git a/sdks/java/microbenchmarks/src/main/java/org/apache/beam/sdk/microbenchmarks/transforms/DoFnInvokersBenchmark.java b/sdks/java/microbenchmarks/src/main/java/org/apache/beam/sdk/microbenchmarks/transforms/DoFnInvokersBenchmark.java index b55e17b..e0fdac6 100644 --- a/sdks/java/microbenchmarks/src/main/java/org/apache/beam/sdk/microbenchmarks/transforms/DoFnInvokersBenchmark.java +++ b/sdks/java/microbenchmarks/src/main/java/org/apache/beam/sdk/microbenchmarks/transforms/DoFnInvokersBenchmark.java @@ -21,7 +21,7 @@ import org.apache.beam.sdk.options.PipelineOptions; import org.apache.beam.sdk.transforms.Aggregator; import org.apache.beam.sdk.transforms.Combine.CombineFn; import org.apache.beam.sdk.transforms.DoFn; -import org.apache.beam.sdk.transforms.DoFn.ExtraContextFactory; +import org.apache.beam.sdk.transforms.DoFn.FakeArgumentProvider; import org.apache.beam.sdk.transforms.DoFnAdapters; import org.apache.beam.sdk.transforms.OldDoFn; import org.apache.beam.sdk.transforms.reflect.DoFnInvoker; @@ -56,8 +56,8 @@ public class DoFnInvokersBenchmark { private StubOldDoFnProcessContext stubOldDoFnContext = new StubOldDoFnProcessContext(oldDoFn, ELEMENT); private StubDoFnProcessContext stubDoFnContext = new StubDoFnProcessContext(doFn, ELEMENT); - private ExtraContextFactory<String, String> extraContextFactory = - new DoFn.FakeExtraContextFactory<>(); + private DoFn.ArgumentProvider<String, String> argumentProvider = + new FakeArgumentProvider<>(); private OldDoFn<String, String> adaptedDoFnWithContext; @@ -83,7 +83,7 @@ public class DoFnInvokersBenchmark { @Benchmark public String invokeDoFnWithContext() throws Exception { - invoker.invokeProcessElement(extraContextFactory); + invoker.invokeProcessElement(argumentProvider); return stubDoFnContext.output; }