feat: introduce `java.time` methods (#1729) · googleapis/java-logging@323eb33
@@ -16,14 +16,18 @@
16161717package com.google.cloud.logging;
181819+import static com.google.api.gax.util.TimeConversionUtils.toJavaTimeDuration;
20+import static com.google.api.gax.util.TimeConversionUtils.toThreetenDuration;
21+1922import com.google.api.core.ApiFunction;
23+import com.google.api.core.ObsoleteApi;
2024import com.google.cloud.StringEnumType;
2125import com.google.cloud.StringEnumValue;
2226import com.google.common.base.MoreObjects;
2327import com.google.errorprone.annotations.CanIgnoreReturnValue;
2428import java.io.Serializable;
29+import java.time.Duration;
2530import java.util.Objects;
26-import org.threeten.bp.Duration;
27312832/**
2933 * Objects of this class represent information about the (optional) HTTP request associated with a
@@ -51,7 +55,7 @@ public final class HttpRequest implements Serializable {
5155private final boolean cacheHit;
5256private final boolean cacheValidatedWithOriginServer;
5357private final Long cacheFillBytes;
54-private final Duration latency;
58+private final java.time.Duration latency;
55595660/** The HTTP request method. */
5761public static final class RequestMethod extends StringEnumValue {
@@ -112,7 +116,7 @@ public static final class Builder {
112116private boolean cacheHit;
113117private boolean cacheValidatedWithOriginServer;
114118private Long cacheFillBytes;
115-private Duration latency;
119+private java.time.Duration latency;
116120117121Builder() {}
118122@@ -258,12 +262,18 @@ public Builder setCacheFillBytes(long cacheFillBytes) {
258262return this;
259263 }
260264265+/** This method is obsolete. Use {@link #setLatencyDuration(java.time.Duration)} instead. */
266+@ObsoleteApi("Use setLatencyDuration(java.time.Duration) instead")
267+public Builder setLatency(org.threeten.bp.Duration latency) {
268+return setLatencyDuration(toJavaTimeDuration(latency));
269+ }
270+261271/**
262272 * Sets the latency on the server, from the time the request was received until the response was
263273 * sent.
264274 */
265275@CanIgnoreReturnValue
266-public Builder setLatency(Duration latency) {
276+public Builder setLatencyDuration(java.time.Duration latency) {
267277this.latency = latency;
268278return this;
269279 }
@@ -393,13 +403,19 @@ public Long getCacheFillBytes() {
393403return cacheFillBytes;
394404 }
395405406+/** This method is obsolete. Use {@link #getLatencyDuration()} instead. */
407+@ObsoleteApi("Use getLatencyDuration() instead")
408+public org.threeten.bp.Duration getLatency() {
409+return toThreetenDuration(getLatencyDuration());
410+ }
411+396412/**
397413 * Returns the processing latency on the server, from the time the request was received until the
398414 * response was sent.
399415 *
400416 * @return the latency, for null if not populated.
401417 */
402-public Duration getLatency() {
418+public Duration getLatencyDuration() {
403419return latency;
404420 }
405421@@ -561,7 +577,7 @@ static HttpRequest fromPb(com.google.logging.type.HttpRequest requestPb) {
561577 }
562578if (requestPb.hasLatency()) {
563579// NOTE(pongad): Don't convert to nano; large durations overflow longs!
564-builder.setLatency(
580+builder.setLatencyDuration(
565581Duration.ofSeconds(
566582requestPb.getLatency().getSeconds(), requestPb.getLatency().getNanos()));
567583 }