From b80f5b87fcc169fd9f9a027418401f518fa092a0 Mon Sep 17 00:00:00 2001 From: kolea2 Date: Tue, 5 Dec 2023 17:28:40 -0500 Subject: [PATCH 1/2] feat!: mark interfaces as `@InternalExtensionOnly` --- .../src/main/java/com/google/cloud/datastore/Batch.java | 2 ++ .../src/main/java/com/google/cloud/datastore/Datastore.java | 6 +++--- .../com/google/cloud/datastore/DatastoreBatchWriter.java | 2 ++ .../java/com/google/cloud/datastore/DatastoreFactory.java | 2 ++ .../java/com/google/cloud/datastore/DatastoreReader.java | 6 +++--- .../com/google/cloud/datastore/DatastoreReaderWriter.java | 3 +++ .../java/com/google/cloud/datastore/DatastoreWriter.java | 2 ++ .../main/java/com/google/cloud/datastore/QueryResults.java | 2 ++ .../java/com/google/cloud/datastore/StructuredQuery.java | 2 ++ .../main/java/com/google/cloud/datastore/Transaction.java | 2 ++ .../main/java/com/google/cloud/datastore/ValueBuilder.java | 2 ++ .../cloud/datastore/aggregation/AggregationBuilder.java | 3 +++ .../com/google/cloud/datastore/spi/DatastoreRpcFactory.java | 2 ++ .../com/google/cloud/datastore/spi/v1/DatastoreRpc.java | 6 +++--- 14 files changed, 33 insertions(+), 9 deletions(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Batch.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Batch.java index eb4abd854..c9a01673d 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Batch.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Batch.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import java.util.List; import javax.annotation.concurrent.NotThreadSafe; @@ -42,6 +43,7 @@ * This class too should not be treated as a thread safe class. */ @NotThreadSafe +@InternalExtensionOnly public interface Batch extends DatastoreBatchWriter { interface Response { diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Datastore.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Datastore.java index d78bea9a2..6f5439336 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Datastore.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Datastore.java @@ -16,12 +16,14 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import com.google.cloud.Service; import com.google.datastore.v1.TransactionOptions; import java.util.Iterator; import java.util.List; /** An interface for Google Cloud Datastore. */ +@InternalExtensionOnly public interface Datastore extends Service, DatastoreReaderWriter { /** @@ -505,7 +507,5 @@ interface TransactionCallable { * @throws DatastoreException upon failure * @return {@link AggregationResults} */ - default AggregationResults runAggregation(AggregationQuery query, ReadOption... options) { - throw new UnsupportedOperationException("Not implemented."); - } + AggregationResults runAggregation(AggregationQuery query, ReadOption... options); } diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java index db4bd3179..28d2569b6 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreBatchWriter.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import java.util.List; import javax.annotation.concurrent.NotThreadSafe; @@ -31,6 +32,7 @@ * This class too should not be treated as a thread safe class. */ @NotThreadSafe +@InternalExtensionOnly public interface DatastoreBatchWriter extends DatastoreWriter { /** diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreFactory.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreFactory.java index 1b443066d..54274e7bb 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreFactory.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreFactory.java @@ -16,7 +16,9 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import com.google.cloud.ServiceFactory; /** An interface for Datastore factories. */ +@InternalExtensionOnly public interface DatastoreFactory extends ServiceFactory {} diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReader.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReader.java index 2a3071f3c..e8e5d3b03 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReader.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReader.java @@ -16,10 +16,12 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import java.util.Iterator; import java.util.List; /** An interface to represent Google Cloud Datastore read operations. */ +@InternalExtensionOnly public interface DatastoreReader { /** @@ -59,7 +61,5 @@ public interface DatastoreReader { * * @throws DatastoreException upon failure */ - default AggregationResults runAggregation(AggregationQuery query) { - throw new UnsupportedOperationException("Not implemented."); - } + AggregationResults runAggregation(AggregationQuery query); } diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReaderWriter.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReaderWriter.java index a51a5aa77..bc8700c70 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReaderWriter.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreReaderWriter.java @@ -16,5 +16,8 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; + /** An interface that combines both Google Cloud Datastore read and write operations. */ +@InternalExtensionOnly public interface DatastoreReaderWriter extends DatastoreReader, DatastoreWriter {} diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreWriter.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreWriter.java index 6c1d6fdbc..b414995e6 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreWriter.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/DatastoreWriter.java @@ -16,9 +16,11 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import java.util.List; /** An interface to represent Google Cloud Datastore write operations. */ +@InternalExtensionOnly public interface DatastoreWriter { /** diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/QueryResults.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/QueryResults.java index 3f73824dc..b42e33d1a 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/QueryResults.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/QueryResults.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import com.google.datastore.v1.QueryResultBatch; import java.util.Iterator; @@ -28,6 +29,7 @@ * * @param the type of the results value. */ +@InternalExtensionOnly public interface QueryResults extends Iterator { /** Returns the actual class of the result's values. */ diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/StructuredQuery.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/StructuredQuery.java index 30cd05759..5bde80ed6 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/StructuredQuery.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/StructuredQuery.java @@ -27,6 +27,7 @@ import com.google.api.core.ApiFunction; import com.google.api.core.InternalApi; +import com.google.api.core.InternalExtensionOnly; import com.google.cloud.StringEnumType; import com.google.cloud.StringEnumValue; import com.google.cloud.Timestamp; @@ -700,6 +701,7 @@ public String toString() { * * @param the type of result the query returns. */ + @InternalExtensionOnly public interface Builder { /** Sets the namespace for the query. */ diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java index 69c18d75c..f68c3889b 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/Transaction.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import com.google.protobuf.ByteString; import java.util.Iterator; import java.util.List; @@ -61,6 +62,7 @@ * This class too should not be treated as a thread safe class. */ @NotThreadSafe +@InternalExtensionOnly public interface Transaction extends DatastoreBatchWriter, DatastoreReaderWriter { interface Response { diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/ValueBuilder.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/ValueBuilder.java index 3c60ef409..315728147 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/ValueBuilder.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/ValueBuilder.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore; +import com.google.api.core.InternalExtensionOnly; import com.google.cloud.GcpLaunchStage; /** @@ -25,6 +26,7 @@ * @param

the value type. * @param the value type's associated builder. */ +@InternalExtensionOnly public interface ValueBuilder, B extends ValueBuilder> { ValueType getValueType(); diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/aggregation/AggregationBuilder.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/aggregation/AggregationBuilder.java index ce23edcf0..632f44393 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/aggregation/AggregationBuilder.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/aggregation/AggregationBuilder.java @@ -16,6 +16,8 @@ package com.google.cloud.datastore.aggregation; +import com.google.api.core.InternalExtensionOnly; + /** * An interface to represent the builders which build and customize {@link Aggregation} for {@link * com.google.cloud.datastore.AggregationQuery}. @@ -23,6 +25,7 @@ *

Used by {@link * com.google.cloud.datastore.AggregationQuery.Builder#addAggregation(AggregationBuilder)}. */ +@InternalExtensionOnly public interface AggregationBuilder { A build(); } diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/DatastoreRpcFactory.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/DatastoreRpcFactory.java index 0b7f9094b..acb85a61d 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/DatastoreRpcFactory.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/DatastoreRpcFactory.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore.spi; +import com.google.api.core.InternalExtensionOnly; import com.google.cloud.datastore.DatastoreOptions; import com.google.cloud.spi.ServiceRpcFactory; @@ -23,4 +24,5 @@ * An interface for Datastore RPC factory. Implementation will be loaded via {@link * java.util.ServiceLoader}. */ +@InternalExtensionOnly public interface DatastoreRpcFactory extends ServiceRpcFactory {} diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java index 33b8e11ea..d6f2e3c21 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java @@ -16,6 +16,7 @@ package com.google.cloud.datastore.spi.v1; +import com.google.api.core.InternalExtensionOnly; import com.google.cloud.ServiceRpc; import com.google.cloud.datastore.DatastoreException; import com.google.datastore.v1.AllocateIdsRequest; @@ -36,6 +37,7 @@ import com.google.datastore.v1.RunQueryResponse; /** Provides access to the remote Datastore service. */ +@InternalExtensionOnly public interface DatastoreRpc extends ServiceRpc { /** @@ -93,7 +95,5 @@ BeginTransactionResponse beginTransaction(BeginTransactionRequest request) * * @throws DatastoreException upon failure */ - default RunAggregationQueryResponse runAggregationQuery(RunAggregationQueryRequest request) { - throw new UnsupportedOperationException("Not implemented."); - } + RunAggregationQueryResponse runAggregationQuery(RunAggregationQueryRequest request); } From 9ae611bfd506b06a69a44d595f24e87ab8d4dca2 Mon Sep 17 00:00:00 2001 From: kolea2 Date: Wed, 3 Jan 2024 16:42:19 -0500 Subject: [PATCH 2/2] lint --- .../java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java index 26927e7f4..3b163f6fd 100644 --- a/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java +++ b/google-cloud-datastore/src/main/java/com/google/cloud/datastore/spi/v1/DatastoreRpc.java @@ -17,8 +17,8 @@ package com.google.cloud.datastore.spi.v1; import com.google.api.core.InternalApi; -import com.google.api.gax.rpc.HeaderProvider; import com.google.api.core.InternalExtensionOnly; +import com.google.api.gax.rpc.HeaderProvider; import com.google.cloud.ServiceRpc; import com.google.cloud.datastore.DatastoreException; import com.google.cloud.datastore.v1.DatastoreSettings;