From 2970d8e30780ea6062252548960a09f700d5a83d Mon Sep 17 00:00:00 2001 From: Nicole Lee Date: Thu, 30 Jul 2026 15:10:45 +0000 Subject: [PATCH 1/2] cleanup(gax-java): remove javax.annotation.Nonnull usage --- .../google/api/gax/grpc/GrpcCallContext.java | 4 +- .../api/gax/grpc/GrpcCallableFactory.java | 3 +- .../grpc/GrpcDirectStreamControllerTest.java | 4 +- .../api/gax/httpjson/HttpJsonCallContext.java | 4 +- .../gax/httpjson/HttpJsonCallableFactory.java | 3 +- .../google/api/gax/batching/BatcherImpl.java | 3 +- .../api/gax/retrying/NoopRetryingContext.java | 2 - .../api/gax/retrying/RetryingContext.java | 2 - .../retrying/RetryingExecutorWithContext.java | 4 +- .../retrying/StreamResumptionStrategy.java | 3 - .../google/api/gax/rpc/ApiCallContext.java | 4 +- .../com/google/api/gax/rpc/ClientContext.java | 4 -- .../google/api/gax/rpc/ClientSettings.java | 3 - .../api/gax/rpc/FixedWatchdogProvider.java | 3 +- .../rpc/InstantiatingWatchdogProvider.java | 7 +-- .../com/google/api/gax/rpc/ServerStream.java | 2 - .../gax/rpc/ServerStreamingCallSettings.java | 55 ++++++------------- .../com/google/api/gax/rpc/StubSettings.java | 22 +++----- .../java/com/google/api/gax/rpc/Watchdog.java | 9 ++- .../google/api/gax/rpc/WatchdogProvider.java | 3 +- .../google/api/gax/tracing/ErrorTypeUtil.java | 3 +- .../api/gax/tracing/OpencensusTracer.java | 4 +- .../gax/tracing/OpencensusTracerFactory.java | 7 +-- .../google/api/gax/tracing/TraceFinisher.java | 3 +- .../api/gax/tracing/TracedBidiCallable.java | 19 +++---- .../TracedClientStreamingCallable.java | 31 +++++------ .../gax/tracing/TracedOperationCallable.java | 13 ++--- .../gax/tracing/TracedResponseObserver.java | 8 +-- .../TracedServerStreamingCallable.java | 19 +++---- .../api/gax/rpc/testing/FakeCallContext.java | 4 +- 30 files changed, 91 insertions(+), 164 deletions(-) diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java index 23f56c5f8951..d0a8c766a90a 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallContext.java @@ -64,7 +64,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -665,7 +664,6 @@ public GrpcCallContext withRequestParamsDynamicHeaderOption(String requestParams /** {@inheritDoc} */ @Override - @Nonnull public ApiTracer getTracer() { ApiTracer tracer = callOptions.getOption(TRACER_KEY); if (tracer == null) { @@ -676,7 +674,7 @@ public ApiTracer getTracer() { /** {@inheritDoc} */ @Override - public GrpcCallContext withTracer(@Nonnull ApiTracer tracer) { + public GrpcCallContext withTracer(ApiTracer tracer) { Preconditions.checkNotNull(tracer); return withCallOptions(callOptions.withOption(TRACER_KEY, tracer)); } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallableFactory.java b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallableFactory.java index 0a92a1796689..8983fb5ded95 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallableFactory.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/GrpcCallableFactory.java @@ -60,7 +60,6 @@ import com.google.longrunning.Operation; import com.google.longrunning.stub.OperationsStub; import io.grpc.MethodDescriptor; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** Class with utility methods to create grpc-based direct callables. */ @@ -330,7 +329,7 @@ ClientStreamingCallable createClientStreamingCallable( } @VisibleForTesting - static ApiTracerContext getApiTracerContext(@Nonnull MethodDescriptor methodDescriptor) { + static ApiTracerContext getApiTracerContext(MethodDescriptor methodDescriptor) { return ApiTracerContext.newBuilder() .setFullMethodName(methodDescriptor.getFullMethodName()) .setTransport(ApiTracerContext.Transport.GRPC) diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java index 2359dc5d28ab..8fa6072bdd3f 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java @@ -52,7 +52,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; @@ -68,13 +67,12 @@ void testRetryNoRaceCondition() throws Exception { ManagedChannelBuilder.forAddress("localhost", 1234).usePlaintext().build(); StreamResumptionStrategy resumptionStrategy = new StreamResumptionStrategy() { - @Nonnull + @Override public StreamResumptionStrategy createNew() { return this; } - @Nonnull @Override public Money processResponse(Money response) { return response; diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java index 2679b51860df..ceeaa3cac35a 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java @@ -55,7 +55,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -588,7 +587,6 @@ public HttpJsonCallContext withDeadline(org.threeten.bp.Instant newDeadline) { return withCallOptions(builder.setDeadline(newDeadline).build()); } - @Nonnull @Override public ApiTracer getTracer() { if (tracer == null) { @@ -599,7 +597,7 @@ public ApiTracer getTracer() { /** {@inheritDoc} */ @Override - public HttpJsonCallContext withTracer(@Nonnull ApiTracer newTracer) { + public HttpJsonCallContext withTracer(ApiTracer newTracer) { Preconditions.checkNotNull(newTracer); HttpJsonCallOptions newCallOptions = callOptions.toBuilder().setTracer(newTracer).build(); diff --git a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallableFactory.java b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallableFactory.java index 3baeb3d284c2..c0ea2599a54c 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallableFactory.java +++ b/sdk-platform-java/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallableFactory.java @@ -45,7 +45,6 @@ import com.google.api.gax.rpc.UnaryCallable; import com.google.api.gax.tracing.ApiTracerContext; import com.google.api.gax.tracing.TracedUnaryCallable; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** Class with utility methods to create http/json-based direct callables. */ @@ -222,7 +221,7 @@ ServerStreamingCallable createServerStreamingCallable( return callable.withDefaultCallContext(clientContext.getDefaultCallContext()); } - static ApiTracerContext getApiTracerContext(@Nonnull ApiMethodDescriptor methodDescriptor) { + static ApiTracerContext getApiTracerContext(ApiMethodDescriptor methodDescriptor) { return ApiTracerContext.newBuilder() .setFullMethodName(methodDescriptor.getFullMethodName()) .setHttpMethod(methodDescriptor.getHttpMethod()) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/BatcherImpl.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/BatcherImpl.java index 14c2e0ca12da..1314c63b948a 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/BatcherImpl.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/BatcherImpl.java @@ -64,7 +64,6 @@ import java.util.concurrent.TimeoutException; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -503,7 +502,7 @@ void add( totalThrottledTimeMs += throttledTimeMs; } - void setResponseFuture(@Nonnull ApiFuture responseFuture) { + void setResponseFuture(ApiFuture responseFuture) { Preconditions.checkNotNull(responseFuture); this.responseFuture = responseFuture; } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/NoopRetryingContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/NoopRetryingContext.java index 5fe5f8781fd9..6f3cb0aa1730 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/NoopRetryingContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/NoopRetryingContext.java @@ -36,7 +36,6 @@ import com.google.api.gax.tracing.ApiTracer; import com.google.api.gax.tracing.BaseApiTracer; import java.util.Set; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -50,7 +49,6 @@ public static RetryingContext create() { } /** {@inheritDoc} */ - @Nonnull @Override public ApiTracer getTracer() { return BaseApiTracer.getInstance(); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingContext.java index 9ad7d72ba154..d86fa4cad94c 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingContext.java @@ -33,7 +33,6 @@ import com.google.api.gax.rpc.StatusCode; import com.google.api.gax.tracing.ApiTracer; import java.util.Set; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -46,7 +45,6 @@ @BetaApi("The surface for passing per operation state is not yet stable") public interface RetryingContext { /** Returns the {@link ApiTracer} associated with the current operation. */ - @Nonnull ApiTracer getTracer(); /** diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingExecutorWithContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingExecutorWithContext.java index 2d13ef78c6ad..ff723a9405ac 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingExecutorWithContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetryingExecutorWithContext.java @@ -32,7 +32,6 @@ import com.google.api.core.BetaApi; import com.google.api.core.InternalExtensionOnly; import java.util.concurrent.Callable; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -46,6 +45,5 @@ @BetaApi("The surface for per invocation state is unstable and will probably change in the future") @InternalExtensionOnly public interface RetryingExecutorWithContext extends RetryingExecutor { - RetryingFuture createFuture( - @Nonnull Callable callable, @Nonnull RetryingContext context); + RetryingFuture createFuture(Callable callable, RetryingContext context); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamResumptionStrategy.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamResumptionStrategy.java index 163abaaeada6..01899a12f053 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamResumptionStrategy.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/retrying/StreamResumptionStrategy.java @@ -29,7 +29,6 @@ */ package com.google.api.gax.retrying; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -43,7 +42,6 @@ public interface StreamResumptionStrategy { /** Creates a new instance of this StreamResumptionStrategy without accumulated state */ - @Nonnull StreamResumptionStrategy createNew(); /** @@ -60,7 +58,6 @@ public interface StreamResumptionStrategy { * through this method. * */ - @Nonnull ResponseT processResponse(ResponseT response); /** diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java index 67b5e5b285d1..2f26f6a6de92 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ApiCallContext.java @@ -41,7 +41,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -175,7 +174,6 @@ public interface ApiCallContext extends RetryingContext { * events like retries. */ @BetaApi("The surface for tracing is not stable yet and may change in the future") - @Nonnull ApiTracer getTracer(); /** @@ -187,7 +185,7 @@ public interface ApiCallContext extends RetryingContext { * @param tracer the {@link ApiTracer} to set. */ @BetaApi("The surface for tracing is not stable yet and may change in the future") - ApiCallContext withTracer(@Nonnull ApiTracer tracer); + ApiCallContext withTracer(ApiTracer tracer); /** * Returns a new ApiCallContext with the given {@link RetrySettings} set. diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java index 85e9b6863714..79cea1dba7d9 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java @@ -64,7 +64,6 @@ import java.util.Set; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -106,13 +105,11 @@ public abstract class ClientContext { public abstract @Nullable Watchdog getStreamWatchdog(); /** This method is obsolete. Use {@link #getStreamWatchdogCheckIntervalDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getStreamWatchdogCheckIntervalDuration() instead") public final org.threeten.bp.Duration getStreamWatchdogCheckInterval() { return toThreetenDuration(getStreamWatchdogCheckIntervalDuration()); } - @Nonnull public abstract java.time.Duration getStreamWatchdogCheckIntervalDuration(); public abstract @Nullable String getUniverseDomain(); @@ -126,7 +123,6 @@ public final org.threeten.bp.Duration getStreamWatchdogCheckInterval() { /** Gets the {@link ApiTracerFactory} that will be used to generate traces for operations. */ @BetaApi("The surface for tracing is not stable yet and may change in the future.") - @Nonnull public abstract ApiTracerFactory getTracerFactory(); /** diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientSettings.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientSettings.java index b1d851e3031e..371749972ac1 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientSettings.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientSettings.java @@ -39,7 +39,6 @@ import com.google.common.base.MoreObjects; import java.io.IOException; import java.util.concurrent.Executor; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -121,13 +120,11 @@ public final String getApiKey() { } /** This method is obsolete. Use {@link #getWatchdogCheckIntervalDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getWatchdogCheckIntervalDuration() instead") public final org.threeten.bp.Duration getWatchdogCheckInterval() { return stubSettings.getStreamWatchdogCheckInterval(); } - @Nonnull public final java.time.Duration getWatchdogCheckIntervalDuration() { return stubSettings.getStreamWatchdogCheckIntervalDuration(); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/FixedWatchdogProvider.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/FixedWatchdogProvider.java index c4c82c40bc73..c57d296f63a4 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/FixedWatchdogProvider.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/FixedWatchdogProvider.java @@ -34,7 +34,6 @@ import com.google.api.core.ObsoleteApi; import java.time.Duration; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -64,7 +63,7 @@ public boolean needsClock() { } @Override - public WatchdogProvider withClock(@Nonnull ApiClock clock) { + public WatchdogProvider withClock(ApiClock clock) { throw new UnsupportedOperationException("FixedWatchdogProvider doesn't need a clock"); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/InstantiatingWatchdogProvider.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/InstantiatingWatchdogProvider.java index 81747896ffe2..af59918bedb5 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/InstantiatingWatchdogProvider.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/InstantiatingWatchdogProvider.java @@ -36,7 +36,6 @@ import com.google.api.core.ObsoleteApi; import com.google.common.base.Preconditions; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -72,7 +71,7 @@ public boolean needsClock() { } @Override - public WatchdogProvider withClock(@Nonnull ApiClock clock) { + public WatchdogProvider withClock(ApiClock clock) { return new InstantiatingWatchdogProvider( Preconditions.checkNotNull(clock), executor, checkInterval); } @@ -87,12 +86,12 @@ public boolean needsCheckInterval() { */ @Override @ObsoleteApi("Use withCheckIntervalDuration(java.time.Duration) instead") - public WatchdogProvider withCheckInterval(@Nonnull org.threeten.bp.Duration checkInterval) { + public WatchdogProvider withCheckInterval(org.threeten.bp.Duration checkInterval) { return withCheckIntervalDuration(toJavaTimeDuration(checkInterval)); } @Override - public WatchdogProvider withCheckIntervalDuration(@Nonnull java.time.Duration checkInterval) { + public WatchdogProvider withCheckIntervalDuration(java.time.Duration checkInterval) { return new InstantiatingWatchdogProvider( clock, executor, Preconditions.checkNotNull(checkInterval)); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStream.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStream.java index 1653d0ab758c..8d73145372f6 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStream.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStream.java @@ -33,7 +33,6 @@ import java.util.Iterator; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -83,7 +82,6 @@ ResponseObserver observer() { /** {@inheritDoc} */ @Override - @Nonnull public Iterator iterator() { if (consumed) { throw new IllegalStateException("Iterator already consumed"); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingCallSettings.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingCallSettings.java index 155178ed7d4e..22a27ea6670f 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingCallSettings.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/ServerStreamingCallSettings.java @@ -43,7 +43,6 @@ import com.google.common.collect.Sets; import java.time.Duration; import java.util.Set; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -82,12 +81,12 @@ public final class ServerStreamingCallSettings extends StreamingCallSettings { - @Nonnull private final Set retryableCodes; - @Nonnull private final RetrySettings retrySettings; - @Nonnull private final StreamResumptionStrategy resumptionStrategy; + private final Set retryableCodes; + private final RetrySettings retrySettings; + private final StreamResumptionStrategy resumptionStrategy; - @Nonnull private final java.time.Duration idleTimeout; - @Nonnull private final java.time.Duration waitTimeout; + private final java.time.Duration idleTimeout; + private final java.time.Duration waitTimeout; private ServerStreamingCallSettings(Builder builder) { this.retryableCodes = ImmutableSet.copyOf(builder.retryableCodes); @@ -101,7 +100,6 @@ private ServerStreamingCallSettings(Builder builder) { * See the class documentation of {@link ServerStreamingCallSettings} for a description of what * retryableCodes do. */ - @Nonnull public Set getRetryableCodes() { return retryableCodes; } @@ -110,7 +108,6 @@ public Set getRetryableCodes() { * See the class documentation of {@link ServerStreamingCallSettings} for a description of what * retrySettings do. */ - @Nonnull public RetrySettings getRetrySettings() { return retrySettings; } @@ -119,13 +116,11 @@ public RetrySettings getRetrySettings() { * See the class documentation of {@link ServerStreamingCallSettings} and {@link * StreamResumptionStrategy} for a description of what the StreamResumptionStrategy does. */ - @Nonnull public StreamResumptionStrategy getResumptionStrategy() { return resumptionStrategy; } /** This method is obsolete. Use {@link #getIdleTimeoutDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getIdleTimeoutDuration() instead") public org.threeten.bp.Duration getIdleTimeout() { return toThreetenDuration(getIdleTimeoutDuration()); @@ -135,13 +130,11 @@ public org.threeten.bp.Duration getIdleTimeout() { * See the class documentation of {@link ServerStreamingCallSettings} for a description of what * the {@link #idleTimeout} does. */ - @Nonnull public java.time.Duration getIdleTimeoutDuration() { return idleTimeout; } /** This method is obsolete. Use {@link #getWaitTimeoutDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getWaitTimeoutDuration() instead") public org.threeten.bp.Duration getWaitTimeout() { return toThreetenDuration(getWaitTimeoutDuration()); @@ -151,7 +144,6 @@ public org.threeten.bp.Duration getWaitTimeout() { * See the class documentation of {@link ServerStreamingCallSettings} for a description of what * the {@link #waitTimeout} does. */ - @Nonnull public java.time.Duration getWaitTimeoutDuration() { return waitTimeout; } @@ -176,13 +168,13 @@ public String toString() { public static class Builder extends StreamingCallSettings.Builder { - @Nonnull private Set retryableCodes; - @Nonnull private RetrySettings.Builder retrySettingsBuilder; - @Nonnull private StreamResumptionStrategy resumptionStrategy; + private Set retryableCodes; + private RetrySettings.Builder retrySettingsBuilder; + private StreamResumptionStrategy resumptionStrategy; - @Nonnull private java.time.Duration idleTimeout; + private java.time.Duration idleTimeout; - @Nonnull private java.time.Duration waitTimeout; + private java.time.Duration waitTimeout; /** Initialize the builder with default settings */ private Builder() { @@ -223,7 +215,6 @@ public Builder setRetryableCodes(Set retryableCodes) return this; } - @Nonnull public Set getRetryableCodes() { return retryableCodes; } @@ -251,13 +242,12 @@ public RetrySettings.Builder retrySettings() { * * @see #retrySettings() */ - public Builder setRetrySettings(@Nonnull RetrySettings retrySettings) { + public Builder setRetrySettings(RetrySettings retrySettings) { Preconditions.checkNotNull(retrySettings); this.retrySettingsBuilder = retrySettings.toBuilder(); return this; } - @Nonnull public RetrySettings getRetrySettings() { return retrySettingsBuilder.build(); } @@ -268,13 +258,13 @@ public RetrySettings getRetrySettings() { */ @ObsoleteApi("Use setSimpleTimeoutNoRetriesDuration(java.time.Duration) instead") public Builder setSimpleTimeoutNoRetries( - @Nonnull org.threeten.bp.Duration timeout) { + org.threeten.bp.Duration timeout) { return setSimpleTimeoutNoRetriesDuration(toJavaTimeDuration(timeout)); } /** Disables retries and sets the overall timeout. */ public Builder setSimpleTimeoutNoRetriesDuration( - @Nonnull java.time.Duration timeout) { + java.time.Duration timeout) { setRetryableCodes(); setRetrySettings( RetrySettings.newBuilder() @@ -296,33 +286,29 @@ public Builder setSimpleTimeoutNoRetriesDuration( * StreamResumptionStrategy does. */ public Builder setResumptionStrategy( - @Nonnull StreamResumptionStrategy resumptionStrategy) { + StreamResumptionStrategy resumptionStrategy) { Preconditions.checkNotNull(resumptionStrategy); this.resumptionStrategy = Preconditions.checkNotNull(resumptionStrategy); return this; } - @Nonnull public StreamResumptionStrategy getResumptionStrategy() { return resumptionStrategy; } /** This method is obsolete. Use {@link #getIdleTimeoutDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getIdleTimeoutDuration() instead") public org.threeten.bp.Duration getIdleTimeout() { return toThreetenDuration(getIdleTimeoutDuration()); } - @Nonnull public java.time.Duration getIdleTimeoutDuration() { return idleTimeout; } /** This method is obsolete. Use {@link #setIdleTimeoutDuration(Duration)} instead. */ @ObsoleteApi("Use setIdleTimeoutDuration(java.time.Duration) instead") - public Builder setIdleTimeout( - @Nonnull org.threeten.bp.Duration idleTimeout) { + public Builder setIdleTimeout(org.threeten.bp.Duration idleTimeout) { return setIdleTimeoutDuration(toJavaTimeDuration(idleTimeout)); } @@ -330,28 +316,24 @@ public Builder setIdleTimeout( * Set how long to wait before considering the stream orphaned by the user and closing it. * {@link java.time.Duration#ZERO} disables the check for abandoned streams. */ - public Builder setIdleTimeoutDuration( - @Nonnull java.time.Duration idleTimeout) { + public Builder setIdleTimeoutDuration(java.time.Duration idleTimeout) { this.idleTimeout = Preconditions.checkNotNull(idleTimeout); return this; } /** This method is obsolete. Use {@link #getWaitTimeoutDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getWaitTimeoutDuration() instead") public org.threeten.bp.Duration getWaitTimeout() { return toThreetenDuration(getWaitTimeoutDuration()); } - @Nonnull public java.time.Duration getWaitTimeoutDuration() { return waitTimeout; } /** This method is obsolete. Use {@link #setWaitTimeoutDuration(java.time.Duration)} instead. */ @ObsoleteApi("Use setWaitTimeoutDuration(java.time.Duration) instead") - public Builder setWaitTimeout( - @Nonnull org.threeten.bp.Duration waitTimeout) { + public Builder setWaitTimeout(org.threeten.bp.Duration waitTimeout) { return setWaitTimeoutDuration(toJavaTimeDuration(waitTimeout)); } @@ -359,8 +341,7 @@ public Builder setWaitTimeout( * Set the maximum amount of time to wait for the next message from the server. {@link * java.time.Duration#ZERO} disables the check for abandoned streams. */ - public Builder setWaitTimeoutDuration( - @Nonnull java.time.Duration waitTimeout) { + public Builder setWaitTimeoutDuration(java.time.Duration waitTimeout) { this.waitTimeout = waitTimeout; return this; } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java index 4837453b16df..6dd5b3473bad 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java @@ -51,7 +51,6 @@ import com.google.common.base.Preconditions; import java.io.IOException; import java.util.concurrent.Executor; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -79,11 +78,11 @@ public abstract class StubSettings> { private final String quotaProjectId; private final @Nullable String gdchApiAudience; private final @Nullable WatchdogProvider streamWatchdogProvider; - @Nonnull private final java.time.Duration streamWatchdogCheckInterval; - @Nonnull private final ApiTracerFactory tracerFactory; + private final java.time.Duration streamWatchdogCheckInterval; + private final ApiTracerFactory tracerFactory; // Track if deprecated setExecutorProvider is called private boolean deprecatedExecutorProviderSet; - @Nonnull private final EndpointContext endpointContext; + private final EndpointContext endpointContext; private final String apiKey; /** @@ -219,13 +218,11 @@ public final String getQuotaProjectId() { } /** This method is obsolete. Use {@link #getStreamWatchdogCheckIntervalDuration()} instead. */ - @Nonnull @ObsoleteApi("Use getStreamWatchdogCheckIntervalDuration() instead") public final org.threeten.bp.Duration getStreamWatchdogCheckInterval() { return toThreetenDuration(getStreamWatchdogCheckIntervalDuration()); } - @Nonnull public final java.time.Duration getStreamWatchdogCheckIntervalDuration() { return streamWatchdogCheckInterval; } @@ -235,7 +232,6 @@ public final java.time.Duration getStreamWatchdogCheckIntervalDuration() { * operations. */ @BetaApi("The surface for tracing is not stable yet and may change in the future.") - @Nonnull public ApiTracerFactory getTracerFactory() { return tracerFactory; } @@ -299,8 +295,8 @@ public abstract static class Builder< private @Nullable String quotaProjectId; private @Nullable String gdchApiAudience; private @Nullable WatchdogProvider streamWatchdogProvider; - @Nonnull private java.time.Duration streamWatchdogCheckInterval; - @Nonnull private ApiTracerFactory tracerFactory; + private java.time.Duration streamWatchdogCheckInterval; + private ApiTracerFactory tracerFactory; private boolean deprecatedExecutorProviderSet; private @Nullable String universeDomain; private final EndpointContext endpointContext; @@ -567,7 +563,7 @@ public B setQuotaProjectId(String quotaProjectId) { * #setStreamWatchdogCheckIntervalDuration(java.time.Duration)} instead. */ @ObsoleteApi("Use setStreamWatchdogCheckIntervalDuration(java.time.Duration) instead") - public B setStreamWatchdogCheckInterval(@Nonnull org.threeten.bp.Duration checkInterval) { + public B setStreamWatchdogCheckInterval(org.threeten.bp.Duration checkInterval) { return setStreamWatchdogCheckIntervalDuration(toJavaTimeDuration(checkInterval)); } @@ -575,7 +571,7 @@ public B setStreamWatchdogCheckInterval(@Nonnull org.threeten.bp.Duration checkI * Sets how often the {@link Watchdog} will check ongoing streaming RPCs. Defaults to 10 secs. * Use {@link java.time.Duration#ZERO} to disable. */ - public B setStreamWatchdogCheckIntervalDuration(@Nonnull java.time.Duration checkInterval) { + public B setStreamWatchdogCheckIntervalDuration(java.time.Duration checkInterval) { Preconditions.checkNotNull(checkInterval); this.streamWatchdogCheckInterval = checkInterval; return self(); @@ -599,7 +595,7 @@ public B setGdchApiAudience(String gdchApiAudience) { * @param tracerFactory an instance of {@link ApiTracerFactory} to set. */ @BetaApi("The surface for tracing is not stable yet and may change in the future.") - public B setTracerFactory(@Nonnull ApiTracerFactory tracerFactory) { + public B setTracerFactory(ApiTracerFactory tracerFactory) { Preconditions.checkNotNull(tracerFactory); this.tracerFactory = tracerFactory; return self(); @@ -699,13 +695,11 @@ public org.threeten.bp.Duration getStreamWatchdogCheckInterval() { return toThreetenDuration(getStreamWatchdogCheckIntervalDuration()); } - @Nonnull public java.time.Duration getStreamWatchdogCheckIntervalDuration() { return Preconditions.checkNotNull(streamWatchdogCheckInterval); } @BetaApi("The surface for tracing is not stable yet and may change in the future.") - @Nonnull public ApiTracerFactory getTracerFactory() { return tracerFactory; } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/Watchdog.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/Watchdog.java index bd794ec2603f..d0821c7f571b 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/Watchdog.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/Watchdog.java @@ -49,7 +49,6 @@ import java.util.concurrent.TimeoutException; import java.util.logging.Level; import java.util.logging.Logger; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -122,8 +121,8 @@ private void start() { "Use watchDuration(ResponseObserver, java.time.Duration, java.time.Duration) instead") public ResponseObserver watch( ResponseObserver innerObserver, - @Nonnull org.threeten.bp.Duration waitTimeout, - @Nonnull org.threeten.bp.Duration idleTimeout) { + org.threeten.bp.Duration waitTimeout, + org.threeten.bp.Duration idleTimeout) { return watchDuration( innerObserver, toJavaTimeDuration(waitTimeout), toJavaTimeDuration(idleTimeout)); } @@ -131,8 +130,8 @@ public ResponseObserver watch( /** Wraps the target observer with timing constraints. */ public ResponseObserver watchDuration( ResponseObserver innerObserver, - @Nonnull java.time.Duration waitTimeout, - @Nonnull java.time.Duration idleTimeout) { + java.time.Duration waitTimeout, + java.time.Duration idleTimeout) { Preconditions.checkNotNull(innerObserver, "innerObserver can't be null"); Preconditions.checkNotNull(waitTimeout, "waitTimeout can't be null"); Preconditions.checkNotNull(idleTimeout, "idleTimeout can't be null"); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/WatchdogProvider.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/WatchdogProvider.java index 54b4259cdc7b..fc3e99b7b1dd 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/WatchdogProvider.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/rpc/WatchdogProvider.java @@ -34,14 +34,13 @@ import com.google.api.core.ApiClock; import com.google.api.core.ObsoleteApi; import java.util.concurrent.ScheduledExecutorService; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; @NullMarked public interface WatchdogProvider { boolean needsClock(); - WatchdogProvider withClock(@Nonnull ApiClock clock); + WatchdogProvider withClock(ApiClock clock); boolean needsCheckInterval(); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/ErrorTypeUtil.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/ErrorTypeUtil.java index 88507cf27c38..0c22f755bff9 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/ErrorTypeUtil.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/ErrorTypeUtil.java @@ -43,7 +43,6 @@ import java.nio.channels.UnresolvedAddressException; import java.security.GeneralSecurityException; import java.util.Set; -import javax.annotation.Nonnull; import javax.net.ssl.SSLHandshakeException; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -118,7 +117,7 @@ enum ErrorType { * @return a low-cardinality string representing the specific error type */ // Requirement source: go/clo:product-requirements-v1 - public static String extractErrorType(@Nonnull Throwable error) { + public static String extractErrorType(Throwable error) { // 1. Unwrap standard wrapper exceptions if present Throwable realError = getRealCause(error); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracer.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracer.java index 10a31f248c73..57a6bb0933ad 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracer.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracer.java @@ -49,7 +49,6 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -224,8 +223,7 @@ public class OpencensusTracer extends BaseApiTracer { private AtomicLong totalSentMessages = new AtomicLong(0); private long totalReceivedMessages = 0; - OpencensusTracer( - @Nonnull Tracer tracer, @Nonnull Span span, @Nonnull OperationType operationType) { + OpencensusTracer(Tracer tracer, Span span, OperationType operationType) { this.tracer = Preconditions.checkNotNull(tracer, "tracer can't be null"); this.span = Preconditions.checkNotNull(span, "span can't be null"); this.operationType = Preconditions.checkNotNull(operationType, "operationType can't be null"); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracerFactory.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracerFactory.java index ca236a1b57d3..0df8a71908e9 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracerFactory.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/OpencensusTracerFactory.java @@ -38,7 +38,6 @@ import io.opencensus.trace.Tracer; import io.opencensus.trace.Tracing; import java.util.Map; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -53,8 +52,8 @@ @NullMarked @InternalApi("For google-cloud-java client use only") public final class OpencensusTracerFactory extends BaseApiTracerFactory { - @Nonnull private final Tracer internalTracer; - @Nonnull private final Map spanAttributes; + private final Tracer internalTracer; + private final Map spanAttributes; /** * Instantiates a new instance capturing the {@link io.opencensus.trace.Tracer} in {@code @@ -85,7 +84,7 @@ public OpencensusTracerFactory(Map spanAttributes) { * @param internalTracer the Opencensus tracer to wrap. */ @InternalApi("Visible for testing") - OpencensusTracerFactory(Tracer internalTracer, @Nonnull Map spanAttributes) { + OpencensusTracerFactory(Tracer internalTracer, Map spanAttributes) { this.internalTracer = Preconditions.checkNotNull(internalTracer, "internalTracer can't be null"); ImmutableMap.Builder formattedSpanAttributes = ImmutableMap.builder(); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TraceFinisher.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TraceFinisher.java index 64ad38b06678..00b206a3054b 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TraceFinisher.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TraceFinisher.java @@ -32,7 +32,6 @@ import com.google.api.core.ApiFutureCallback; import com.google.common.base.Preconditions; import java.util.concurrent.CancellationException; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** An {@link ApiFutureCallback} to mark a started operation trace as finished. */ @@ -40,7 +39,7 @@ class TraceFinisher implements ApiFutureCallback { private final ApiTracer tracer; - TraceFinisher(@Nonnull ApiTracer tracer) { + TraceFinisher(ApiTracer tracer) { this.tracer = Preconditions.checkNotNull(tracer, "tracer can't be null"); } diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedBidiCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedBidiCallable.java index a9b9dd94207c..3ef9b626de44 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedBidiCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedBidiCallable.java @@ -40,7 +40,6 @@ import com.google.common.base.Preconditions; import java.util.concurrent.CancellationException; import java.util.concurrent.atomic.AtomicBoolean; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -55,15 +54,15 @@ public class TracedBidiCallable extends BidiStreamingCallable { - @Nonnull private final ApiTracerFactory tracerFactory; - @Nonnull private final SpanName spanName; + private final ApiTracerFactory tracerFactory; + private final SpanName spanName; private final @Nullable ApiTracerContext apiTracerContext; - @Nonnull private final BidiStreamingCallable innerCallable; + private final BidiStreamingCallable innerCallable; public TracedBidiCallable( - @Nonnull BidiStreamingCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull SpanName spanName) { + BidiStreamingCallable innerCallable, + ApiTracerFactory tracerFactory, + SpanName spanName) { this.tracerFactory = Preconditions.checkNotNull(tracerFactory, "tracerFactory can't be null"); this.spanName = Preconditions.checkNotNull(spanName, "spanName can't be null"); this.innerCallable = Preconditions.checkNotNull(innerCallable, "innerCallable can't be null"); @@ -71,9 +70,9 @@ public TracedBidiCallable( } public TracedBidiCallable( - @Nonnull BidiStreamingCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull ApiTracerContext apiTracerContext) { + BidiStreamingCallable innerCallable, + ApiTracerFactory tracerFactory, + ApiTracerContext apiTracerContext) { this.tracerFactory = Preconditions.checkNotNull(tracerFactory, "tracerFactory can't be null"); this.apiTracerContext = Preconditions.checkNotNull(apiTracerContext, "apiTracerContext can't be null").toBuilder() diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedClientStreamingCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedClientStreamingCallable.java index 38660188d960..37b9de0e98ea 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedClientStreamingCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedClientStreamingCallable.java @@ -38,7 +38,6 @@ import com.google.common.base.Preconditions; import java.util.concurrent.CancellationException; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -61,9 +60,9 @@ public class TracedClientStreamingCallable private final @Nullable ApiTracerContext apiTracerContext; public TracedClientStreamingCallable( - @Nonnull ClientStreamingCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull SpanName spanName) { + ClientStreamingCallable innerCallable, + ApiTracerFactory tracerFactory, + SpanName spanName) { this.tracerFactory = Preconditions.checkNotNull(tracerFactory, "tracerFactory can't be null"); this.spanName = Preconditions.checkNotNull(spanName, "spanName can't be null"); this.innerCallable = Preconditions.checkNotNull(innerCallable, "innerCallable can't be null"); @@ -71,9 +70,9 @@ public TracedClientStreamingCallable( } public TracedClientStreamingCallable( - @Nonnull ClientStreamingCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull ApiTracerContext apiTracerContext) { + ClientStreamingCallable innerCallable, + ApiTracerFactory tracerFactory, + ApiTracerContext apiTracerContext) { this.tracerFactory = Preconditions.checkNotNull(tracerFactory, "tracerFactory can't be null"); this.apiTracerContext = Preconditions.checkNotNull(apiTracerContext, "apiTracerContext can't be null").toBuilder() @@ -121,9 +120,9 @@ private static class TracedRequestObserver implements ApiStreamObserve private final AtomicReference cancellationCauseHolder; TracedRequestObserver( - @Nonnull ApiTracer tracer, - @Nonnull ApiStreamObserver innerObserver, - @Nonnull AtomicReference cancellationCauseHolder) { + ApiTracer tracer, + ApiStreamObserver innerObserver, + AtomicReference cancellationCauseHolder) { this.tracer = Preconditions.checkNotNull(tracer, "tracer can't be null"); this.innerObserver = Preconditions.checkNotNull(innerObserver, "innerObserver can't be null"); this.cancellationCauseHolder = @@ -160,14 +159,14 @@ public void onCompleted() { * close the current trace upon completion of the RPC. */ private static class TracedResponseObserver implements ApiStreamObserver { - @Nonnull private final ApiTracer tracer; - @Nonnull private final ApiStreamObserver innerObserver; - @Nonnull private final AtomicReference cancellationCauseHolder; + private final ApiTracer tracer; + private final ApiStreamObserver innerObserver; + private final AtomicReference cancellationCauseHolder; TracedResponseObserver( - @Nonnull ApiTracer tracer, - @Nonnull ApiStreamObserver innerObserver, - @Nonnull AtomicReference cancellationCauseHolder) { + ApiTracer tracer, + ApiStreamObserver innerObserver, + AtomicReference cancellationCauseHolder) { this.tracer = Preconditions.checkNotNull(tracer, "tracer can't be null"); this.innerObserver = Preconditions.checkNotNull(innerObserver, "innerObserver can't be null"); this.cancellationCauseHolder = cancellationCauseHolder; diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedOperationCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedOperationCallable.java index ea575452bc4e..f30e02115274 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedOperationCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedOperationCallable.java @@ -37,7 +37,6 @@ import com.google.api.gax.rpc.OperationCallable; import com.google.api.gax.tracing.ApiTracerFactory.OperationType; import com.google.common.util.concurrent.MoreExecutors; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -50,14 +49,14 @@ public class TracedOperationCallable extends OperationCallable { - private @Nonnull OperationCallable innerCallable; - private @Nonnull ApiTracerFactory tracerFactory; - private @Nonnull SpanName spanName; + private OperationCallable innerCallable; + private ApiTracerFactory tracerFactory; + private SpanName spanName; public TracedOperationCallable( - @Nonnull OperationCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull SpanName spanName) { + OperationCallable innerCallable, + ApiTracerFactory tracerFactory, + SpanName spanName) { this.innerCallable = innerCallable; this.tracerFactory = tracerFactory; this.spanName = spanName; diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedResponseObserver.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedResponseObserver.java index 49444baf5e43..aa100f86d868 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedResponseObserver.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedResponseObserver.java @@ -34,7 +34,6 @@ import com.google.api.gax.rpc.StreamController; import com.google.common.base.Preconditions; import java.util.concurrent.atomic.AtomicBoolean; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; /** @@ -51,15 +50,12 @@ class TracedResponseObserver implements ResponseObserver { private final ResponseObserver innerObserver; private AtomicBoolean wasCancelled; - TracedResponseObserver( - @Nonnull ApiTracer tracer, @Nonnull ResponseObserver innerObserver) { + TracedResponseObserver(ApiTracer tracer, ResponseObserver innerObserver) { this(tracer, innerObserver, new AtomicBoolean()); } TracedResponseObserver( - @Nonnull ApiTracer tracer, - @Nonnull ResponseObserver innerObserver, - @Nonnull AtomicBoolean wasCancelled) { + ApiTracer tracer, ResponseObserver innerObserver, AtomicBoolean wasCancelled) { this.tracer = Preconditions.checkNotNull(tracer, "tracer"); this.innerObserver = Preconditions.checkNotNull(innerObserver, "innerObserver"); this.wasCancelled = Preconditions.checkNotNull(wasCancelled, "wasCancelled"); diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedServerStreamingCallable.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedServerStreamingCallable.java index 309cba351b2e..c4b61b30cb06 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedServerStreamingCallable.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/tracing/TracedServerStreamingCallable.java @@ -36,7 +36,6 @@ import com.google.api.gax.rpc.ServerStreamingCallable; import com.google.api.gax.tracing.ApiTracerFactory.OperationType; import com.google.common.base.Preconditions; -import javax.annotation.Nonnull; import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; @@ -51,15 +50,15 @@ public final class TracedServerStreamingCallable extends ServerStreamingCallable { - @Nonnull private final ApiTracerFactory tracerFactory; - @Nonnull private final SpanName spanName; + private final ApiTracerFactory tracerFactory; + private final SpanName spanName; private final @Nullable ApiTracerContext apiTracerContext; - @Nonnull private final ServerStreamingCallable innerCallable; + private final ServerStreamingCallable innerCallable; public TracedServerStreamingCallable( - @Nonnull ServerStreamingCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull SpanName spanName) { + ServerStreamingCallable innerCallable, + ApiTracerFactory tracerFactory, + SpanName spanName) { this.tracerFactory = Preconditions.checkNotNull(tracerFactory, "tracerFactory can't be null"); this.spanName = Preconditions.checkNotNull(spanName, "spanName can't be null"); this.innerCallable = Preconditions.checkNotNull(innerCallable, "innerCallable can't be null"); @@ -67,9 +66,9 @@ public TracedServerStreamingCallable( } public TracedServerStreamingCallable( - @Nonnull ServerStreamingCallable innerCallable, - @Nonnull ApiTracerFactory tracerFactory, - @Nonnull ApiTracerContext apiTracerContext) { + ServerStreamingCallable innerCallable, + ApiTracerFactory tracerFactory, + ApiTracerContext apiTracerContext) { this.tracerFactory = Preconditions.checkNotNull(tracerFactory, "tracerFactory can't be null"); this.apiTracerContext = Preconditions.checkNotNull(apiTracerContext, "apiTracerContext can't be null").toBuilder() diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java index 1cdefe435d55..7f8c9432b092 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java @@ -50,7 +50,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nonnull; import javax.annotation.Nullable; @InternalApi("for testing") @@ -463,7 +462,6 @@ public T getOption(Key key) { /** {@inheritDoc} */ @Override - @Nonnull public ApiTracer getTracer() { if (tracer == null) { return BaseApiTracer.getInstance(); @@ -473,7 +471,7 @@ public ApiTracer getTracer() { /** {@inheritDoc} */ @Override - public ApiCallContext withTracer(@Nonnull ApiTracer tracer) { + public ApiCallContext withTracer(ApiTracer tracer) { Preconditions.checkNotNull(tracer); return new FakeCallContext( From 787a3cee299184458c7745dfed818af61a6f1429 Mon Sep 17 00:00:00 2001 From: Nicole Lee Date: Thu, 30 Jul 2026 15:47:14 +0000 Subject: [PATCH 2/2] removed unused jsr305 dependency and migrate some missed javax to jspecify --- sdk-platform-java/gax-java/gax-grpc/pom.xml | 6 +---- .../grpc/GrpcDirectStreamControllerTest.java | 5 ++-- .../InstantiatingGrpcChannelProviderTest.java | 5 ++-- .../google/api/gax/grpc/MockClientCall.java | 2 +- .../gax-java/gax-httpjson/pom.xml | 6 +---- sdk-platform-java/gax-java/gax/pom.xml | 6 +---- .../api/gax/rpc/testing/FakeCallContext.java | 27 ++++++++----------- .../rpc/testing/FakeOperationSnapshot.java | 11 +++----- 8 files changed, 23 insertions(+), 45 deletions(-) diff --git a/sdk-platform-java/gax-java/gax-grpc/pom.xml b/sdk-platform-java/gax-java/gax-grpc/pom.xml index 888e26aa07c3..64e75f5f3345 100644 --- a/sdk-platform-java/gax-java/gax-grpc/pom.xml +++ b/sdk-platform-java/gax-java/gax-grpc/pom.xml @@ -81,11 +81,7 @@ grpc-googleapis runtime - - com.google.code.findbugs - jsr305 - provided - + org.graalvm.sdk nativeimage diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java index 8fa6072bdd3f..9fdacedb44be 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/GrpcDirectStreamControllerTest.java @@ -52,7 +52,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; @@ -78,9 +78,8 @@ public Money processResponse(Money response) { return response; } - @Nullable @Override - public Color getResumeRequest(Color originalRequest) { + public @Nullable Color getResumeRequest(Color originalRequest) { return originalRequest; } diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java index be0365866615..c7052532955b 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProviderTest.java @@ -81,7 +81,7 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.stream.Collectors; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; @@ -560,8 +560,7 @@ void testWithDefaultDirectPathServiceConfig() { assertThat(lbConfig.keySet()).containsExactly("pick_first"); } - @Nullable - private static Map getAsObject(Map json, String key) { + private static @Nullable Map getAsObject(Map json, String key) { Object mapObject = json.get(key); if (mapObject == null) { return null; diff --git a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/MockClientCall.java b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/MockClientCall.java index a1720293f051..378dd29561c4 100644 --- a/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/MockClientCall.java +++ b/sdk-platform-java/gax-java/gax-grpc/src/test/java/com/google/api/gax/grpc/MockClientCall.java @@ -32,7 +32,7 @@ import io.grpc.ClientCall; import io.grpc.Metadata; import io.grpc.Status; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; public class MockClientCall extends ClientCall { diff --git a/sdk-platform-java/gax-java/gax-httpjson/pom.xml b/sdk-platform-java/gax-java/gax-httpjson/pom.xml index 64274469c90c..e6bf00c299a2 100644 --- a/sdk-platform-java/gax-java/gax-httpjson/pom.xml +++ b/sdk-platform-java/gax-java/gax-httpjson/pom.xml @@ -72,11 +72,7 @@ com.google.protobuf protobuf-java-util - - com.google.code.findbugs - jsr305 - provided - + com.google.auto.value auto-value-annotations diff --git a/sdk-platform-java/gax-java/gax/pom.xml b/sdk-platform-java/gax-java/gax/pom.xml index c89ecb88e1e3..4fbe52af280e 100644 --- a/sdk-platform-java/gax-java/gax/pom.xml +++ b/sdk-platform-java/gax-java/gax/pom.xml @@ -61,11 +61,7 @@ com.google.auth google-auth-library-oauth2-http - - com.google.code.findbugs - jsr305 - provided - + org.graalvm.sdk nativeimage diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java index 7f8c9432b092..63ffcbeeccd3 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeCallContext.java @@ -50,7 +50,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; @InternalApi("for testing") public class FakeCallContext implements ApiCallContext { @@ -247,25 +247,23 @@ public java.time.Duration getTimeoutDuration() { @Override public ApiCallContext withStreamWaitTimeout( - @Nullable org.threeten.bp.Duration streamWaitTimeout) { + org.threeten.bp.@Nullable Duration streamWaitTimeout) { return withStreamWaitTimeoutDuration(toJavaTimeDuration(streamWaitTimeout)); } - @Nullable @Override - public java.time.Duration getStreamWaitTimeoutDuration() { + public java.time.@Nullable Duration getStreamWaitTimeoutDuration() { return streamWaitTimeout; } @Override public ApiCallContext withStreamIdleTimeout( - @Nullable org.threeten.bp.Duration streamIdleTimeout) { + org.threeten.bp.@Nullable Duration streamIdleTimeout) { return withStreamIdleTimeoutDuration(toJavaTimeDuration(streamIdleTimeout)); } - @Nullable @Override - public java.time.Duration getStreamIdleTimeoutDuration() { + public java.time.@Nullable Duration getStreamIdleTimeoutDuration() { return streamIdleTimeout; } @@ -314,7 +312,7 @@ public FakeCallContext withEndpointContext(EndpointContext endpointContext) { } @Override - public FakeCallContext withTimeout(@Nullable org.threeten.bp.Duration timeout) { + public FakeCallContext withTimeout(org.threeten.bp.@Nullable Duration timeout) { return withTimeoutDuration(toJavaTimeDuration(timeout)); } @@ -359,15 +357,14 @@ public FakeCallContext withTimeoutDuration(java.time.Duration timeout) { this.endpointContext); } - @Nullable @Override - public org.threeten.bp.Duration getTimeout() { + public org.threeten.bp.@Nullable Duration getTimeout() { return toThreetenDuration(getTimeoutDuration()); } @Override public ApiCallContext withStreamWaitTimeoutDuration( - @Nullable java.time.Duration streamWaitTimeout) { + java.time.@Nullable Duration streamWaitTimeout) { return new FakeCallContext( this.credentials, this.channel, @@ -382,15 +379,14 @@ public ApiCallContext withStreamWaitTimeoutDuration( this.endpointContext); } - @Nullable @Override - public org.threeten.bp.Duration getStreamWaitTimeout() { + public org.threeten.bp.@Nullable Duration getStreamWaitTimeout() { return toThreetenDuration(getStreamWaitTimeoutDuration()); } @Override public ApiCallContext withStreamIdleTimeoutDuration( - @Nullable java.time.Duration streamIdleTimeout) { + java.time.@Nullable Duration streamIdleTimeout) { Preconditions.checkNotNull(streamIdleTimeout); return new FakeCallContext( this.credentials, @@ -406,9 +402,8 @@ public ApiCallContext withStreamIdleTimeoutDuration( this.endpointContext); } - @Nullable @Override - public org.threeten.bp.Duration getStreamIdleTimeout() { + public org.threeten.bp.@Nullable Duration getStreamIdleTimeout() { return toThreetenDuration(getStreamIdleTimeoutDuration()); } diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeOperationSnapshot.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeOperationSnapshot.java index 59db2a80083c..e32f9abbd93a 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeOperationSnapshot.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/rpc/testing/FakeOperationSnapshot.java @@ -33,7 +33,7 @@ import com.google.api.gax.longrunning.OperationSnapshot; import com.google.api.gax.rpc.StatusCode; import com.google.auto.value.AutoValue; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; @InternalApi("for testing") @AutoValue @@ -43,22 +43,19 @@ public abstract class FakeOperationSnapshot implements OperationSnapshot { public abstract String getName(); @Override - @Nullable - public abstract Object getMetadata(); + public abstract @Nullable Object getMetadata(); @Override public abstract boolean isDone(); @Override - @Nullable - public abstract Object getResponse(); + public abstract @Nullable Object getResponse(); @Override public abstract StatusCode getErrorCode(); @Override - @Nullable - public abstract String getErrorMessage(); + public abstract @Nullable String getErrorMessage(); public static Builder newBuilder() { return new AutoValue_FakeOperationSnapshot.Builder();