From 1e316d33d2b7c87f6b76580cd9f905fe90a664c7 Mon Sep 17 00:00:00 2001 From: Mike Prieto Date: Wed, 28 Feb 2024 13:26:35 -0500 Subject: [PATCH] feat: Add universe domain support for Java (#1904) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: change assignees for issues and PRs to michaelpri10 * feat: Add setUniverseDomain option for Publisher and Subscriber * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: Set default endpoint as null for Subscribers and Publishers * chore: Remove unneeded sample snippet --------- Co-authored-by: Owl Bot --- .../java/com/google/cloud/pubsub/v1/Publisher.java | 10 +++++++++- .../java/com/google/cloud/pubsub/v1/Subscriber.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Publisher.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Publisher.java index d0437cb58..efaba6cf1 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Publisher.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Publisher.java @@ -185,6 +185,7 @@ private Publisher(Builder builder) throws IOException { .setExecutorProvider(FixedExecutorProvider.create(executor)) .setTransportChannelProvider(builder.channelProvider) .setEndpoint(builder.endpoint) + .setUniverseDomain(builder.universeDomain) .setHeaderProvider(builder.headerProvider); stubSettings .publishSettings() @@ -717,7 +718,8 @@ public static final class Builder { static final long DEFAULT_COMPRESSION_BYTES_THRESHOLD = 240L; String topicName; - private String endpoint = PublisherStubSettings.getDefaultEndpoint(); + private String endpoint = null; + private String universeDomain = null; // Batching options BatchingSettings batchingSettings = DEFAULT_BATCHING_SETTINGS; @@ -857,6 +859,12 @@ public Builder setEndpoint(String endpoint) { return this; } + /** Gives the ability to override the universe domain. */ + public Builder setUniverseDomain(String universeDomain) { + this.universeDomain = universeDomain; + return this; + } + /** Gives the ability to enable transport compression. */ public Builder setEnableCompression(boolean enableCompression) { this.enableCompression = enableCompression; diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Subscriber.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Subscriber.java index 1d1017dd4..1723c72b1 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Subscriber.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/Subscriber.java @@ -192,6 +192,7 @@ private Subscriber(Builder builder) { .setTransportChannelProvider(channelProvider) .setHeaderProvider(builder.headerProvider) .setEndpoint(builder.endpoint) + .setUniverseDomain(builder.universeDomain) .build(); // TODO(pongad): what about internal header?? } catch (Exception e) { @@ -491,7 +492,8 @@ public static final class Builder { SubscriptionAdminSettings.defaultCredentialsProviderBuilder().build(); private Optional clock = Optional.absent(); private int parallelPullCount = 1; - private String endpoint = SubscriberStubSettings.getDefaultEndpoint(); + private String endpoint = null; + private String universeDomain = null; Builder(String subscription, MessageReceiver receiver) { this.subscription = subscription; @@ -670,6 +672,12 @@ public Builder setEndpoint(String endpoint) { return this; } + /** Gives the ability to override the universe domain. */ + public Builder setUniverseDomain(String universeDomain) { + this.universeDomain = universeDomain; + return this; + } + /** Gives the ability to set a custom clock. */ Builder setClock(ApiClock clock) { this.clock = Optional.of(clock);