Skip to content

Commit

Permalink
parameterize ThrowingConsumer by Exception type
Browse files Browse the repository at this point in the history
  • Loading branch information
ryan-williams committed Feb 18, 2019
1 parent db6559c commit 06a1fec
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 7 deletions.
Expand Up @@ -74,7 +74,7 @@ public class InMemoryJobService extends JobServiceGrpc.JobServiceImplBase implem
public static InMemoryJobService create(
Endpoints.ApiServiceDescriptor stagingServiceDescriptor,
Function<String, String> stagingServiceTokenProvider,
ThrowingConsumer<String> cleanupJobFn,
ThrowingConsumer<Exception, String> cleanupJobFn,
JobInvoker invoker) {
return new InMemoryJobService(
stagingServiceDescriptor, stagingServiceTokenProvider, cleanupJobFn, invoker);
Expand All @@ -85,13 +85,13 @@ public static InMemoryJobService create(
private final ConcurrentMap<String, String> stagingSessionTokens;
private final Endpoints.ApiServiceDescriptor stagingServiceDescriptor;
private final Function<String, String> stagingServiceTokenProvider;
private final ThrowingConsumer<String> cleanupJobFn;
private final ThrowingConsumer<Exception, String> cleanupJobFn;
private final JobInvoker invoker;

private InMemoryJobService(
Endpoints.ApiServiceDescriptor stagingServiceDescriptor,
Function<String, String> stagingServiceTokenProvider,
ThrowingConsumer<String> cleanupJobFn,
ThrowingConsumer<Exception, String> cleanupJobFn,
JobInvoker invoker) {
this.stagingServiceDescriptor = stagingServiceDescriptor;
this.stagingServiceTokenProvider = stagingServiceTokenProvider;
Expand Down
Expand Up @@ -18,4 +18,5 @@
package org.apache.beam.sdk.function;

/** A {@link ThrowingConsumer} that can be closed. */
public interface CloseableThrowingConsumer<T> extends AutoCloseable, ThrowingConsumer<T> {}
public interface CloseableThrowingConsumer<ExceptionT extends Exception, T>
extends AutoCloseable, ThrowingConsumer<ExceptionT, T> {}
Expand Up @@ -26,6 +26,6 @@
* interfaces.
*/
@FunctionalInterface
public interface ThrowingConsumer<T> {
void accept(T t) throws Exception;
public interface ThrowingConsumer<ExceptionT extends Exception, T> {
void accept(T t) throws ExceptionT;
}
Expand Up @@ -75,7 +75,7 @@ public class ProcessBundleHandlerTest {
@Rule public ExpectedException thrown = ExpectedException.none();

@Mock private BeamFnDataClient beamFnDataClient;
@Captor private ArgumentCaptor<ThrowingConsumer<WindowedValue<String>>> consumerCaptor;
@Captor private ArgumentCaptor<ThrowingConsumer<Exception, WindowedValue<String>>> consumerCaptor;

@Before
public void setUp() {
Expand Down

0 comments on commit 06a1fec

Please sign in to comment.