diff --git a/README.md b/README.md index 9bdf33b26..e1162f52c 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ If you are using Maven without the BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.39.0') +implementation platform('com.google.cloud:libraries-bom:26.40.0') implementation 'com.google.cloud:google-cloud-datastore' ``` diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreOptions.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreOptions.java index 7e5192b52..e470c3d76 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreOptions.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreOptions.java @@ -19,7 +19,6 @@ import static com.google.cloud.datastore.Validator.validateNamespace; import com.google.api.core.BetaApi; -import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.cloud.ServiceDefaults; @@ -51,7 +50,6 @@ public class DatastoreOptions extends ServiceOptionsThis is only compatible with clients using a gRPC transport (see {@code + * DatastoreOptions#setTransportOptions(GrpcTransportOptions)} for more details). + * + *

This functionality is experimental and subject to change. + * * @param channelProvider A InstantiatingGrpcChannelProvider object that defines the transport * provider for this client. */ @@ -137,18 +141,6 @@ public Builder setChannelProvider(TransportChannelProvider channelProvider) { return this; } - /** - * Sets the {@link CredentialsProvider} to use with this Datastore client. - * - * @param credentialsProvider A CredentialsProvider object that defines the credential provider - * for this client. - */ - @BetaApi - public Builder setCredentialsProvider(CredentialsProvider credentialsProvider) { - this.credentialsProvider = credentialsProvider; - return this; - } - @Override public DatastoreOptions build() { if (this.host == null && this.transportOptions instanceof GrpcTransportOptions) { @@ -183,8 +175,7 @@ private DatastoreOptions(Builder builder) { namespace = MoreObjects.firstNonNull(builder.namespace, defaultNamespace()); databaseId = MoreObjects.firstNonNull(builder.databaseId, DEFAULT_DATABASE_ID); - if (getTransportOptions() instanceof HttpTransportOptions - && (builder.channelProvider != null || builder.credentialsProvider != null)) { + if (getTransportOptions() instanceof HttpTransportOptions && builder.channelProvider != null) { throw new IllegalArgumentException( "Only gRPC transport allows setting of channel provider or credentials provider"); } else if (getTransportOptions() instanceof GrpcTransportOptions) { @@ -193,18 +184,9 @@ private DatastoreOptions(Builder builder) { ? builder.channelProvider : GrpcTransportOptions.setUpChannelProvider( DatastoreSettings.defaultGrpcTransportProviderBuilder(), this); - - this.credentialsProvider = - builder.credentialsProvider != null - ? builder.credentialsProvider - : GrpcTransportOptions.setUpCredentialsProvider(this); } } - public CredentialsProvider getCredentialsProvider() { - return credentialsProvider; - } - public TransportChannelProvider getTransportChannelProvider() { return channelProvider; } diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java index 3d9aebc68..e8e113736 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/GrpcDatastoreRpc.java @@ -36,6 +36,7 @@ import com.google.cloud.datastore.v1.DatastoreSettings; import com.google.cloud.datastore.v1.stub.DatastoreStubSettings; import com.google.cloud.datastore.v1.stub.GrpcDatastoreStub; +import com.google.cloud.grpc.GrpcTransportOptions; import com.google.common.base.Strings; import com.google.datastore.v1.AllocateIdsRequest; import com.google.datastore.v1.AllocateIdsResponse; @@ -169,7 +170,8 @@ private ClientContext getClientContext(DatastoreOptions datastoreOptions) throws DatastoreSettingsBuilder settingsBuilder = new DatastoreSettingsBuilder(DatastoreSettings.newBuilder().build()); - settingsBuilder.setCredentialsProvider(datastoreOptions.getCredentialsProvider()); + settingsBuilder.setCredentialsProvider( + GrpcTransportOptions.setUpCredentialsProvider(datastoreOptions)); settingsBuilder.setTransportChannelProvider(datastoreOptions.getTransportChannelProvider()); settingsBuilder.setInternalHeaderProvider(internalHeaderProvider); settingsBuilder.setHeaderProvider( diff --git a/google-cloud-datastore/src/test/java/com/google/cloud/datastore/DatastoreOptionsTest.java b/google-cloud-datastore/src/test/java/com/google/cloud/datastore/DatastoreOptionsTest.java index e3f48ecc9..36e29defb 100644 --- a/google-cloud-datastore/src/test/java/com/google/cloud/datastore/DatastoreOptionsTest.java +++ b/google-cloud-datastore/src/test/java/com/google/cloud/datastore/DatastoreOptionsTest.java @@ -22,7 +22,6 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; -import com.google.api.gax.core.NoCredentialsProvider; import com.google.api.gax.grpc.ChannelPoolSettings; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.cloud.NoCredentials; @@ -92,7 +91,6 @@ public void testDatastore() { @Test public void testCustomChannelAndCredentials() { - NoCredentialsProvider noCredentialsProvider = NoCredentialsProvider.create(); InstantiatingGrpcChannelProvider channelProvider = DatastoreSettings.defaultGrpcTransportProviderBuilder() .setChannelPoolSettings( @@ -108,11 +106,10 @@ public void testCustomChannelAndCredentials() { .setDatabaseId(DATABASE_ID) .setTransportOptions(GrpcTransportOptions.newBuilder().build()) .setChannelProvider(channelProvider) - .setCredentialsProvider(noCredentialsProvider) + .setCredentials(NoCredentials.getInstance()) .setHost("http://localhost:" + PORT) .build(); assertEquals(datastoreOptions.getTransportChannelProvider(), channelProvider); - assertEquals(datastoreOptions.getCredentialsProvider(), noCredentialsProvider); } @Test @@ -131,7 +128,7 @@ public void testInvalidConfigForHttp() { .setMaxChannelCount(20) .build()) .build()) - .setCredentialsProvider(NoCredentialsProvider.create()) + .setCredentials(NoCredentials.getInstance()) .setHost("http://localhost:" + PORT); Assert.assertThrows(IllegalArgumentException.class, options::build); } @@ -146,11 +143,9 @@ public void testTransport() { DatastoreOptions.newBuilder() .setTransportOptions(GrpcTransportOptions.newBuilder().build()) .setProjectId(PROJECT_ID) - .setCredentialsProvider(NoCredentialsProvider.create()) + .setCredentials(NoCredentials.getInstance()) .build(); assertThat(grpcTransportOptions.getTransportOptions()).isInstanceOf(GrpcTransportOptions.class); - assertThat(grpcTransportOptions.getCredentialsProvider()) - .isInstanceOf(NoCredentialsProvider.class); assertThat(grpcTransportOptions.getTransportChannelProvider()) .isInstanceOf(InstantiatingGrpcChannelProvider.class); } @@ -161,7 +156,7 @@ public void testHostWithGrpcAndHttp() { DatastoreOptions.newBuilder() .setTransportOptions(GrpcTransportOptions.newBuilder().build()) .setProjectId(PROJECT_ID) - .setCredentialsProvider(NoCredentialsProvider.create()) + .setCredentials(NoCredentials.getInstance()) .build(); assertThat(grpcTransportOptions.getHost()).isEqualTo(DatastoreSettings.getDefaultEndpoint()); assertThat(grpcTransportOptions.getHost()).isEqualTo("datastore.googleapis.com:443"); @@ -172,7 +167,7 @@ public void testHostWithGrpcAndHttp() { .setTransportOptions(GrpcTransportOptions.newBuilder().build()) .setHost(customHost) .setProjectId(PROJECT_ID) - .setCredentialsProvider(NoCredentialsProvider.create()) + .setCredentials(NoCredentials.getInstance()) .build(); assertThat(grpcTransportOptionsCustomHost.getHost()).isEqualTo(customHost);