Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
mutianf committed Jun 8, 2021
1 parent 08f5787 commit 7a28b35
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 12 deletions.
8 changes: 8 additions & 0 deletions gax/src/main/java/com/google/api/gax/rpc/ClientContext.java
Expand Up @@ -72,6 +72,10 @@ public abstract class ClientContext {
*/
public abstract List<BackgroundResource> getBackgroundResources();

/**
* Gets the executor to use for running scheduled API call logic (such as retries and long-running
* operations).
*/
public abstract ScheduledExecutorService getExecutor();

@Nullable
Expand Down Expand Up @@ -301,6 +305,10 @@ public abstract static class Builder {

public abstract Builder setBackgroundResources(List<BackgroundResource> backgroundResources);

/**
* Sets the executor to use for running scheduled API call logic (such as retries and
* long-running operations).
*/
public abstract Builder setExecutor(ScheduledExecutorService value);

public abstract Builder setCredentials(Credentials value);
Expand Down
5 changes: 3 additions & 2 deletions gax/src/main/java/com/google/api/gax/rpc/ClientSettings.java
Expand Up @@ -64,8 +64,8 @@ public final StubSettings getStubSettings() {
return stubSettings;
}

@Deprecated
/** @deprecated Please use {@link #getBackgroundExecutorProvider()} */
@Deprecated
public final ExecutorProvider getExecutorProvider() {
return stubSettings.getExecutorProvider();
}
Expand Down Expand Up @@ -264,7 +264,6 @@ public B setWatchdogCheckInterval(@Nullable Duration checkInterval) {
return self();
}

@Deprecated
/**
* Gets the ExecutorProvider that was previously set on this Builder. This ExecutorProvider is
* to use for running asynchronous API call logic (such as retries and long-running operations),
Expand All @@ -274,6 +273,7 @@ public B setWatchdogCheckInterval(@Nullable Duration checkInterval) {
* @deprecated Please use {@link #getBackgroundExecutorProvider()} for getting the executor
* provider that's used for running scheduled API call logic.
*/
@Deprecated
public ExecutorProvider getExecutorProvider() {
return stubSettings.getExecutorProvider();
}
Expand Down Expand Up @@ -347,6 +347,7 @@ protected static void applyToAllUnaryMethods(
public String toString() {
return MoreObjects.toStringHelper(this)
.add("executorProvider", getExecutorProvider())
.add("backgroundExecutorProvider", getBackgroundExecutorProvider())
.add("transportChannelProvider", getTransportChannelProvider())
.add("credentialsProvider", getCredentialsProvider())
.add("headerProvider", getHeaderProvider())
Expand Down
2 changes: 1 addition & 1 deletion gax/src/main/java/com/google/api/gax/rpc/StubSettings.java
Expand Up @@ -178,7 +178,7 @@ public ApiTracerFactory getTracerFactory() {
public String toString() {
return MoreObjects.toStringHelper(this)
.add("executorProvider", executorProvider)
.add("workerExecutorProvider", backgroundExecutorProvider)
.add("backgroundExecutorProvider", backgroundExecutorProvider)
.add("transportChannelProvider", transportChannelProvider)
.add("credentialsProvider", credentialsProvider)
.add("headerProvider", headerProvider)
Expand Down
20 changes: 11 additions & 9 deletions gax/src/test/java/com/google/api/gax/rpc/ClientSettingsTest.java
Expand Up @@ -110,7 +110,7 @@ public class ClientSettingsTest {
public void testEmptyBuilder() throws Exception {
FakeClientSettings.Builder builder = new FakeClientSettings.Builder();
Truth.assertThat(builder.getExecutorProvider()).isNull();
Truth.assertThat(builder.getStubSettings().getBackgroundExecutorProvider())
Truth.assertThat(builder.getBackgroundExecutorProvider())
.isInstanceOf(InstantiatingExecutorProvider.class);
Truth.assertThat(builder.getTransportChannelProvider()).isNull();
Truth.assertThat(builder.getCredentialsProvider()).isInstanceOf(NoCredentialsProvider.class);
Expand All @@ -125,8 +125,8 @@ public void testEmptyBuilder() throws Exception {
FakeClientSettings settings = builder.build();
Truth.assertThat(settings.getExecutorProvider())
.isSameInstanceAs(builder.getExecutorProvider());
Truth.assertThat(settings.getStubSettings().getBackgroundExecutorProvider())
.isSameInstanceAs(settings.getBackgroundExecutorProvider());
Truth.assertThat(settings.getBackgroundExecutorProvider())
.isSameInstanceAs(builder.getBackgroundExecutorProvider());
Truth.assertThat(settings.getTransportChannelProvider())
.isSameInstanceAs(builder.getTransportChannelProvider());
Truth.assertThat(settings.getCredentialsProvider())
Expand Down Expand Up @@ -176,9 +176,9 @@ public void testBuilder() throws Exception {
builder.setWatchdogCheckInterval(watchdogCheckInterval);
builder.setQuotaProjectId(quotaProjectId);

// For backward compatibility, backgroundExecutorProvider is set to executorProvider
Truth.assertThat(builder.getExecutorProvider()).isSameInstanceAs(executorProvider);
Truth.assertThat(builder.getStubSettings().getBackgroundExecutorProvider())
.isSameInstanceAs(executorProvider);
Truth.assertThat(builder.getBackgroundExecutorProvider()).isSameInstanceAs(executorProvider);
Truth.assertThat(builder.getTransportChannelProvider()).isSameInstanceAs(transportProvider);
Truth.assertThat(builder.getCredentialsProvider()).isSameInstanceAs(credentialsProvider);
Truth.assertThat(builder.getClock()).isSameInstanceAs(clock);
Expand All @@ -190,6 +190,7 @@ public void testBuilder() throws Exception {

String builderString = builder.toString();
Truth.assertThat(builderString).contains("executorProvider");
Truth.assertThat(builderString).contains("backgroundExecutorProvider");
Truth.assertThat(builderString).contains("transportChannelProvider");
Truth.assertThat(builderString).contains("credentialsProvider");
Truth.assertThat(builderString).contains("clock");
Expand Down Expand Up @@ -229,8 +230,10 @@ public void testBuilderFromClientContext() throws Exception {
FakeClientSettings.Builder builder = new FakeClientSettings.Builder(clientContext);

Truth.assertThat(builder.getExecutorProvider()).isInstanceOf(FixedExecutorProvider.class);
Truth.assertThat(builder.getStubSettings().getBackgroundExecutorProvider())
.isSameInstanceAs(builder.getExecutorProvider());
Truth.assertThat(builder.getBackgroundExecutorProvider())
.isInstanceOf(FixedExecutorProvider.class);
Truth.assertThat(builder.getExecutorProvider())
.isSameInstanceAs(builder.getBackgroundExecutorProvider());
Truth.assertThat(builder.getTransportChannelProvider())
.isInstanceOf(FixedTransportChannelProvider.class);
Truth.assertThat(builder.getCredentialsProvider()).isInstanceOf(FixedCredentialsProvider.class);
Expand Down Expand Up @@ -271,8 +274,7 @@ public void testBuilderFromSettings() throws Exception {
FakeClientSettings.Builder newBuilder = new FakeClientSettings.Builder(settings);

Truth.assertThat(newBuilder.getExecutorProvider()).isSameInstanceAs(executorProvider);
Truth.assertThat(newBuilder.getStubSettings().getBackgroundExecutorProvider())
.isSameInstanceAs(executorProvider);
Truth.assertThat(newBuilder.getBackgroundExecutorProvider()).isSameInstanceAs(executorProvider);
Truth.assertThat(newBuilder.getTransportChannelProvider()).isSameInstanceAs(transportProvider);
Truth.assertThat(newBuilder.getCredentialsProvider()).isSameInstanceAs(credentialsProvider);
Truth.assertThat(newBuilder.getClock()).isSameInstanceAs(clock);
Expand Down

0 comments on commit 7a28b35

Please sign in to comment.