From 77800d886f3e74a4ed3ba9e1a5dd75af5bd6f55d Mon Sep 17 00:00:00 2001 From: Kristen O'Leary Date: Wed, 29 May 2024 15:54:50 -0400 Subject: [PATCH 1/3] feat: add some docs, use only setCredentials in DatastoreOptions --- .../cloud/datastore/DatastoreOptions.java | 36 +++++-------------- .../datastore/spi/v1/GrpcDatastoreRpc.java | 4 ++- .../cloud/datastore/DatastoreOptionsTest.java | 15 +++----- 3 files changed, 17 insertions(+), 38 deletions(-) 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); From 5bf0ab86c26e3f89a69f33729ab1f33e6ed13aa2 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 29 May 2024 20:25:30 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3f6f9916c..9508c4bd4 100644 --- a/README.md +++ b/README.md @@ -50,20 +50,20 @@ 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.38.0') +implementation platform('com.google.cloud:libraries-bom:26.40.0') implementation 'com.google.cloud:google-cloud-datastore' ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-datastore:2.19.1' +implementation 'com.google.cloud:google-cloud-datastore:2.20.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-datastore" % "2.19.1" +libraryDependencies += "com.google.cloud" % "google-cloud-datastore" % "2.20.0" ``` @@ -384,7 +384,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-datastore/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-datastore.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-datastore/2.19.1 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-datastore/2.20.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles From d327219859a287d86fb6ffa6baee355a46d80e56 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 29 May 2024 20:31:28 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 620be3e95..e1162f52c 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,6 @@ 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.40.0') implementation 'com.google.cloud:google-cloud-datastore'