Skip to content
This repository was archived by the owner on Sep 26, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
tests pass
  • Loading branch information
andreamlin committed Jan 24, 2018
commit 1941f448acbcc0d48b0d62c513d42f2696b991e6
50 changes: 36 additions & 14 deletions gax-grpc/src/test/java/com/google/api/gax/grpc/SettingsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -479,49 +479,71 @@ private static void assertIsReflectionEqual(FakeSettings settingsA, FakeSettings
assertIsReflectionEqual(
settingsA,
settingsB,
new String[] {"fakeMethodSimple", "fakePagedMethod", "fakeMethodBatching", "stubSettings"});
assertIsReflectionEqual(settingsA.fakeMethodSimple, settingsB.fakeMethodSimple);
assertIsReflectionEqual(settingsA.fakePagedMethod, settingsB.fakePagedMethod);
assertIsReflectionEqual(settingsA.fakeMethodBatching, settingsB.fakeMethodBatching);
assertIsReflectionEqual(
settingsA.getStubSettings(),
settingsB.getStubSettings(),
new String[] {
"fakeMethodSimple",
"fakePagedMethod",
"fakeMethodBatching",
"executorProvider",
"credentialsProvider",
"headerProvider",
"internalHeaderProvider",
"transportChannelProvider",
"clock"
});
assertIsReflectionEqual(settingsA.fakeMethodSimple, settingsB.fakeMethodSimple);
assertIsReflectionEqual(settingsA.fakePagedMethod, settingsB.fakePagedMethod);
assertIsReflectionEqual(settingsA.fakeMethodBatching, settingsB.fakeMethodBatching);
assertIsReflectionEqual(settingsA.getExecutorProvider(), settingsB.getExecutorProvider());
assertIsReflectionEqual(settingsA.getCredentialsProvider(), settingsB.getCredentialsProvider());
assertIsReflectionEqual(
settingsA.getTransportChannelProvider(), settingsB.getTransportChannelProvider());
assertIsReflectionEqual(settingsA.getHeaderProvider(), settingsB.getHeaderProvider());
assertIsReflectionEqual(
settingsA.getStubSettings().getExecutorProvider(),
settingsB.getStubSettings().getExecutorProvider());
assertIsReflectionEqual(
settingsA.getStubSettings().getCredentialsProvider(),
settingsB.getStubSettings().getCredentialsProvider());
assertIsReflectionEqual(
settingsA.getStubSettings().getTransportChannelProvider(),
settingsB.getStubSettings().getTransportChannelProvider());
assertIsReflectionEqual(
settingsA.getStubSettings().getHeaderProvider(),
settingsB.getStubSettings().getHeaderProvider());
}

private static void assertIsReflectionEqual(
FakeSettings.Builder builderA, FakeSettings.Builder builderB) {
assertIsReflectionEqual(
builderA,
builderB,
new String[] {"fakeMethodSimple", "fakePagedMethod", "fakeMethodBatching", "stubSettings"});
assertIsReflectionEqual(builderA.fakeMethodSimple, builderB.fakeMethodSimple);
assertIsReflectionEqual(builderA.fakePagedMethod, builderB.fakePagedMethod);
assertIsReflectionEqual(builderA.fakeMethodBatching, builderB.fakeMethodBatching);
assertIsReflectionEqual(
builderA.getStubSettingsBuilder(),
builderB.getStubSettingsBuilder(),
new String[] {
"fakeMethodSimple",
"fakePagedMethod",
"fakeMethodBatching",
"executorProvider",
"credentialsProvider",
"headerProvider",
"internalHeaderProvider",
"transportChannelProvider",
"clock"
});
assertIsReflectionEqual(builderA.fakeMethodSimple, builderB.fakeMethodSimple);
assertIsReflectionEqual(builderA.fakePagedMethod, builderB.fakePagedMethod);
assertIsReflectionEqual(builderA.fakeMethodBatching, builderB.fakeMethodBatching);
assertIsReflectionEqual(builderA.getExecutorProvider(), builderB.getExecutorProvider());
assertIsReflectionEqual(builderA.getCredentialsProvider(), builderB.getCredentialsProvider());
assertIsReflectionEqual(
builderA.getTransportChannelProvider(), builderB.getTransportChannelProvider());
assertIsReflectionEqual(
builderA.getStubSettingsBuilder().getExecutorProvider(),
builderB.getStubSettingsBuilder().getExecutorProvider());
assertIsReflectionEqual(
builderA.getStubSettingsBuilder().getCredentialsProvider(),
builderB.getStubSettingsBuilder().getCredentialsProvider());
assertIsReflectionEqual(
builderA.getStubSettingsBuilder().getTransportChannelProvider(),
builderB.getStubSettingsBuilder().getTransportChannelProvider());
}

private static void assertIsReflectionEqual(
Expand Down
26 changes: 13 additions & 13 deletions gax/src/main/java/com/google/api/gax/rpc/ClientSettings.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,9 @@
import com.google.api.core.ApiClock;
import com.google.api.core.ApiFunction;
import com.google.api.core.BetaApi;
import com.google.api.core.NanoClock;
import com.google.api.gax.core.CredentialsProvider;
import com.google.api.gax.core.ExecutorProvider;
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.api.gax.core.FixedExecutorProvider;
import com.google.api.gax.core.InstantiatingExecutorProvider;
import com.google.api.gax.core.NoCredentialsProvider;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import java.io.IOException;

/**

This comment was marked as spam.

This comment was marked as spam.

Expand All @@ -62,6 +56,10 @@ protected ClientSettings(Builder builder) throws IOException {
this.stubSettings = builder.getStubSettingsBuilder().build();
}

public final StubSettings getStubSettings() {
return stubSettings;
}

public final ExecutorProvider getExecutorProvider() {
return stubSettings.getExecutorProvider();
}
Expand Down Expand Up @@ -125,6 +123,10 @@ public StubSettings.Builder getStubSettingsBuilder() {
return stubSettings;
}

protected Builder() {
this((ClientContext) null);
}

protected Builder(ClientContext clientContext) {
this.stubSettings = new StubSettings.Builder(clientContext);
}
Expand All @@ -141,13 +143,13 @@ protected B self() {
* provider.
*/
public B setExecutorProvider(ExecutorProvider executorProvider) {
setExecutorProvider(executorProvider);
stubSettings.setExecutorProvider(executorProvider);
return self();
}

/** Sets the CredentialsProvider to use for getting the credentials to make calls with. */
public B setCredentialsProvider(CredentialsProvider credentialsProvider) {
setCredentialsProvider(credentialsProvider);
stubSettings.setCredentialsProvider(credentialsProvider);
return self();
}

Expand All @@ -160,7 +162,7 @@ public B setCredentialsProvider(CredentialsProvider credentialsProvider) {
*/
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
public B setHeaderProvider(HeaderProvider headerProvider) {
setHeaderProvider(headerProvider);
stubSettings.setHeaderProvider(headerProvider);
return self();
}

Expand All @@ -173,7 +175,7 @@ public B setHeaderProvider(HeaderProvider headerProvider) {
*/
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
protected B setInternalHeaderProvider(HeaderProvider internalHeaderProvider) {
setInternalHeaderProvider(internalHeaderProvider);
stubSettings.setInternalHeaderProvider(internalHeaderProvider);
return self();
}

Expand Down Expand Up @@ -242,9 +244,7 @@ protected static void applyToAllUnaryMethods(
Iterable<UnaryCallSettings.Builder<?, ?>> methodSettingsBuilders,
ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)
throws Exception {
for (UnaryCallSettings.Builder<?, ?> settingsBuilder : methodSettingsBuilders) {
settingsUpdater.apply(settingsBuilder);
}
StubSettings.Builder.applyToAllUnaryMethods(methodSettingsBuilders, settingsUpdater);
}

public abstract SettingsT build() throws IOException;
Expand Down
Loading