diff --git a/README.md b/README.md
index 6ecb27cb62..4fd8a2dd2c 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@ If you are using Maven without BOM, add this to your dependencies:
com.google.cloud
google-cloud-spanner
- 1.54.0
+ 1.55.0
```
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java
index e40a5fa701..112b43e2ef 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java
@@ -210,6 +210,138 @@ public final OperationsClient getOperationsClient() {
return operationsClient;
}
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists Cloud Spanner databases.
+ *
+ *
Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Database element : databaseAdminClient.listDatabases(parent).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance whose databases should be listed. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListDatabasesPagedResponse listDatabases(InstanceName parent) {
+ ListDatabasesRequest request =
+ ListDatabasesRequest.newBuilder()
+ .setParent(parent == null ? null : parent.toString())
+ .build();
+ return listDatabases(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists Cloud Spanner databases.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * for (Database element : databaseAdminClient.listDatabases(parent.toString()).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param parent Required. The instance whose databases should be listed. Values are of the form
+ * `projects/<project>/instances/<instance>`.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListDatabasesPagedResponse listDatabases(String parent) {
+ ListDatabasesRequest request = ListDatabasesRequest.newBuilder().setParent(parent).build();
+ return listDatabases(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists Cloud Spanner databases.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListDatabasesRequest request = ListDatabasesRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * for (Database element : databaseAdminClient.listDatabases(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final ListDatabasesPagedResponse listDatabases(ListDatabasesRequest request) {
+ return listDatabasesPagedCallable().call(request);
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists Cloud Spanner databases.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListDatabasesRequest request = ListDatabasesRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * ApiFuture<ListDatabasesPagedResponse> future = databaseAdminClient.listDatabasesPagedCallable().futureCall(request);
+ * // Do something
+ * for (Database element : future.get().iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable
+ listDatabasesPagedCallable() {
+ return stub.listDatabasesPagedCallable();
+ }
+
+ // AUTO-GENERATED DOCUMENTATION AND METHOD
+ /**
+ * Lists Cloud Spanner databases.
+ *
+ * Sample code:
+ *
+ *
+ * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
+ * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+ * ListDatabasesRequest request = ListDatabasesRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .build();
+ * while (true) {
+ * ListDatabasesResponse response = databaseAdminClient.listDatabasesCallable().call(request);
+ * for (Database element : response.getDatabasesList()) {
+ * // doThingsWith(element);
+ * }
+ * String nextPageToken = response.getNextPageToken();
+ * if (!Strings.isNullOrEmpty(nextPageToken)) {
+ * request = request.toBuilder().setPageToken(nextPageToken).build();
+ * } else {
+ * break;
+ * }
+ * }
+ * }
+ *
+ */
+ public final UnaryCallable listDatabasesCallable() {
+ return stub.listDatabasesCallable();
+ }
+
// AUTO-GENERATED DOCUMENTATION AND METHOD
/**
* Creates a new Cloud Spanner database and starts to prepare it for serving. The returned
@@ -2371,138 +2503,6 @@ public final ListBackupOperationsPagedResponse listBackupOperations(
return stub.listBackupOperationsCallable();
}
- // AUTO-GENERATED DOCUMENTATION AND METHOD
- /**
- * Lists Cloud Spanner databases.
- *
- * Sample code:
- *
- *
- * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
- * for (Database element : databaseAdminClient.listDatabases(parent).iterateAll()) {
- * // doThingsWith(element);
- * }
- * }
- *
- *
- * @param parent Required. The instance whose databases should be listed. Values are of the form
- * `projects/<project>/instances/<instance>`.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
- */
- public final ListDatabasesPagedResponse listDatabases(InstanceName parent) {
- ListDatabasesRequest request =
- ListDatabasesRequest.newBuilder()
- .setParent(parent == null ? null : parent.toString())
- .build();
- return listDatabases(request);
- }
-
- // AUTO-GENERATED DOCUMENTATION AND METHOD
- /**
- * Lists Cloud Spanner databases.
- *
- * Sample code:
- *
- *
- * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
- * for (Database element : databaseAdminClient.listDatabases(parent.toString()).iterateAll()) {
- * // doThingsWith(element);
- * }
- * }
- *
- *
- * @param parent Required. The instance whose databases should be listed. Values are of the form
- * `projects/<project>/instances/<instance>`.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
- */
- public final ListDatabasesPagedResponse listDatabases(String parent) {
- ListDatabasesRequest request = ListDatabasesRequest.newBuilder().setParent(parent).build();
- return listDatabases(request);
- }
-
- // AUTO-GENERATED DOCUMENTATION AND METHOD
- /**
- * Lists Cloud Spanner databases.
- *
- * Sample code:
- *
- *
- * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
- * ListDatabasesRequest request = ListDatabasesRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * for (Database element : databaseAdminClient.listDatabases(request).iterateAll()) {
- * // doThingsWith(element);
- * }
- * }
- *
- *
- * @param request The request object containing all of the parameters for the API call.
- * @throws com.google.api.gax.rpc.ApiException if the remote call fails
- */
- public final ListDatabasesPagedResponse listDatabases(ListDatabasesRequest request) {
- return listDatabasesPagedCallable().call(request);
- }
-
- // AUTO-GENERATED DOCUMENTATION AND METHOD
- /**
- * Lists Cloud Spanner databases.
- *
- * Sample code:
- *
- *
- * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
- * ListDatabasesRequest request = ListDatabasesRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * ApiFuture<ListDatabasesPagedResponse> future = databaseAdminClient.listDatabasesPagedCallable().futureCall(request);
- * // Do something
- * for (Database element : future.get().iterateAll()) {
- * // doThingsWith(element);
- * }
- * }
- *
- */
- public final UnaryCallable
- listDatabasesPagedCallable() {
- return stub.listDatabasesPagedCallable();
- }
-
- // AUTO-GENERATED DOCUMENTATION AND METHOD
- /**
- * Lists Cloud Spanner databases.
- *
- * Sample code:
- *
- *
- * try (DatabaseAdminClient databaseAdminClient = DatabaseAdminClient.create()) {
- * InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
- * ListDatabasesRequest request = ListDatabasesRequest.newBuilder()
- * .setParent(parent.toString())
- * .build();
- * while (true) {
- * ListDatabasesResponse response = databaseAdminClient.listDatabasesCallable().call(request);
- * for (Database element : response.getDatabasesList()) {
- * // doThingsWith(element);
- * }
- * String nextPageToken = response.getNextPageToken();
- * if (!Strings.isNullOrEmpty(nextPageToken)) {
- * request = request.toBuilder().setPageToken(nextPageToken).build();
- * } else {
- * break;
- * }
- * }
- * }
- *
- */
- public final UnaryCallable listDatabasesCallable() {
- return stub.listDatabasesCallable();
- }
-
@Override
public final void close() {
stub.close();
@@ -2533,6 +2533,87 @@ public boolean awaitTermination(long duration, TimeUnit unit) throws Interrupted
return stub.awaitTermination(duration, unit);
}
+ public static class ListDatabasesPagedResponse
+ extends AbstractPagedListResponse<
+ ListDatabasesRequest,
+ ListDatabasesResponse,
+ Database,
+ ListDatabasesPage,
+ ListDatabasesFixedSizeCollection> {
+
+ public static ApiFuture createAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ ApiFuture futurePage =
+ ListDatabasesPage.createEmptyPage().createPageAsync(context, futureResponse);
+ return ApiFutures.transform(
+ futurePage,
+ new ApiFunction() {
+ @Override
+ public ListDatabasesPagedResponse apply(ListDatabasesPage input) {
+ return new ListDatabasesPagedResponse(input);
+ }
+ },
+ MoreExecutors.directExecutor());
+ }
+
+ private ListDatabasesPagedResponse(ListDatabasesPage page) {
+ super(page, ListDatabasesFixedSizeCollection.createEmptyCollection());
+ }
+ }
+
+ public static class ListDatabasesPage
+ extends AbstractPage<
+ ListDatabasesRequest, ListDatabasesResponse, Database, ListDatabasesPage> {
+
+ private ListDatabasesPage(
+ PageContext context,
+ ListDatabasesResponse response) {
+ super(context, response);
+ }
+
+ private static ListDatabasesPage createEmptyPage() {
+ return new ListDatabasesPage(null, null);
+ }
+
+ @Override
+ protected ListDatabasesPage createPage(
+ PageContext context,
+ ListDatabasesResponse response) {
+ return new ListDatabasesPage(context, response);
+ }
+
+ @Override
+ public ApiFuture createPageAsync(
+ PageContext context,
+ ApiFuture futureResponse) {
+ return super.createPageAsync(context, futureResponse);
+ }
+ }
+
+ public static class ListDatabasesFixedSizeCollection
+ extends AbstractFixedSizeCollection<
+ ListDatabasesRequest,
+ ListDatabasesResponse,
+ Database,
+ ListDatabasesPage,
+ ListDatabasesFixedSizeCollection> {
+
+ private ListDatabasesFixedSizeCollection(List pages, int collectionSize) {
+ super(pages, collectionSize);
+ }
+
+ private static ListDatabasesFixedSizeCollection createEmptyCollection() {
+ return new ListDatabasesFixedSizeCollection(null, 0);
+ }
+
+ @Override
+ protected ListDatabasesFixedSizeCollection createCollection(
+ List pages, int collectionSize) {
+ return new ListDatabasesFixedSizeCollection(pages, collectionSize);
+ }
+ }
+
public static class ListBackupsPagedResponse
extends AbstractPagedListResponse<
ListBackupsRequest,
@@ -2786,85 +2867,4 @@ protected ListBackupOperationsFixedSizeCollection createCollection(
return new ListBackupOperationsFixedSizeCollection(pages, collectionSize);
}
}
-
- public static class ListDatabasesPagedResponse
- extends AbstractPagedListResponse<
- ListDatabasesRequest,
- ListDatabasesResponse,
- Database,
- ListDatabasesPage,
- ListDatabasesFixedSizeCollection> {
-
- public static ApiFuture createAsync(
- PageContext context,
- ApiFuture futureResponse) {
- ApiFuture futurePage =
- ListDatabasesPage.createEmptyPage().createPageAsync(context, futureResponse);
- return ApiFutures.transform(
- futurePage,
- new ApiFunction() {
- @Override
- public ListDatabasesPagedResponse apply(ListDatabasesPage input) {
- return new ListDatabasesPagedResponse(input);
- }
- },
- MoreExecutors.directExecutor());
- }
-
- private ListDatabasesPagedResponse(ListDatabasesPage page) {
- super(page, ListDatabasesFixedSizeCollection.createEmptyCollection());
- }
- }
-
- public static class ListDatabasesPage
- extends AbstractPage<
- ListDatabasesRequest, ListDatabasesResponse, Database, ListDatabasesPage> {
-
- private ListDatabasesPage(
- PageContext context,
- ListDatabasesResponse response) {
- super(context, response);
- }
-
- private static ListDatabasesPage createEmptyPage() {
- return new ListDatabasesPage(null, null);
- }
-
- @Override
- protected ListDatabasesPage createPage(
- PageContext context,
- ListDatabasesResponse response) {
- return new ListDatabasesPage(context, response);
- }
-
- @Override
- public ApiFuture createPageAsync(
- PageContext context,
- ApiFuture futureResponse) {
- return super.createPageAsync(context, futureResponse);
- }
- }
-
- public static class ListDatabasesFixedSizeCollection
- extends AbstractFixedSizeCollection<
- ListDatabasesRequest,
- ListDatabasesResponse,
- Database,
- ListDatabasesPage,
- ListDatabasesFixedSizeCollection> {
-
- private ListDatabasesFixedSizeCollection(List pages, int collectionSize) {
- super(pages, collectionSize);
- }
-
- private static ListDatabasesFixedSizeCollection createEmptyCollection() {
- return new ListDatabasesFixedSizeCollection(null, 0);
- }
-
- @Override
- protected ListDatabasesFixedSizeCollection createCollection(
- List pages, int collectionSize) {
- return new ListDatabasesFixedSizeCollection(pages, collectionSize);
- }
- }
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
index 2b74ae4ba3..53edae1edf 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java
@@ -103,6 +103,12 @@
@Generated("by gapic-generator")
@BetaApi
public class DatabaseAdminSettings extends ClientSettings {
+ /** Returns the object with the settings used for calls to listDatabases. */
+ public PagedCallSettings
+ listDatabasesSettings() {
+ return ((DatabaseAdminStubSettings) getStubSettings()).listDatabasesSettings();
+ }
+
/** Returns the object with the settings used for calls to createDatabase. */
public UnaryCallSettings createDatabaseSettings() {
return ((DatabaseAdminStubSettings) getStubSettings()).createDatabaseSettings();
@@ -225,12 +231,6 @@ public UnaryCallSettings restoreDatabaseSetti
return ((DatabaseAdminStubSettings) getStubSettings()).listBackupOperationsSettings();
}
- /** Returns the object with the settings used for calls to listDatabases. */
- public PagedCallSettings
- listDatabasesSettings() {
- return ((DatabaseAdminStubSettings) getStubSettings()).listDatabasesSettings();
- }
-
public static final DatabaseAdminSettings create(DatabaseAdminStubSettings stub)
throws IOException {
return new DatabaseAdminSettings.Builder(stub.toBuilder()).build();
@@ -328,6 +328,13 @@ public Builder applyToAllUnaryMethods(
return this;
}
+ /** Returns the builder for the settings used for calls to listDatabases. */
+ public PagedCallSettings.Builder<
+ ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
+ listDatabasesSettings() {
+ return getStubSettingsBuilder().listDatabasesSettings();
+ }
+
/** Returns the builder for the settings used for calls to createDatabase. */
public UnaryCallSettings.Builder createDatabaseSettings() {
return getStubSettingsBuilder().createDatabaseSettings();
@@ -453,13 +460,6 @@ public UnaryCallSettings.Builder restoreDatab
return getStubSettingsBuilder().listBackupOperationsSettings();
}
- /** Returns the builder for the settings used for calls to listDatabases. */
- public PagedCallSettings.Builder<
- ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
- listDatabasesSettings() {
- return getStubSettingsBuilder().listDatabasesSettings();
- }
-
@Override
public DatabaseAdminSettings build() throws IOException {
return new DatabaseAdminSettings(this);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java
index 7f54ffbfca..fd92157c55 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStub.java
@@ -74,6 +74,15 @@ public OperationsStub getOperationsStub() {
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
}
+ public UnaryCallable
+ listDatabasesPagedCallable() {
+ throw new UnsupportedOperationException("Not implemented: listDatabasesPagedCallable()");
+ }
+
+ public UnaryCallable listDatabasesCallable() {
+ throw new UnsupportedOperationException("Not implemented: listDatabasesCallable()");
+ }
+
@BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
public OperationCallable
createDatabaseOperationCallable() {
@@ -181,15 +190,6 @@ public UnaryCallable restoreDatabaseCallable(
throw new UnsupportedOperationException("Not implemented: listBackupOperationsCallable()");
}
- public UnaryCallable
- listDatabasesPagedCallable() {
- throw new UnsupportedOperationException("Not implemented: listDatabasesPagedCallable()");
- }
-
- public UnaryCallable listDatabasesCallable() {
- throw new UnsupportedOperationException("Not implemented: listDatabasesCallable()");
- }
-
@Override
public abstract void close();
}
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
index 3549b6c5fe..53d5767a89 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java
@@ -128,6 +128,9 @@ public class DatabaseAdminStubSettings extends StubSettings
+ listDatabasesSettings;
private final UnaryCallSettings createDatabaseSettings;
private final OperationCallSettings
createDatabaseOperationSettings;
@@ -163,9 +166,12 @@ public class DatabaseAdminStubSettings extends StubSettings
listBackupOperationsSettings;
- private final PagedCallSettings<
- ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
- listDatabasesSettings;
+
+ /** Returns the object with the settings used for calls to listDatabases. */
+ public PagedCallSettings
+ listDatabasesSettings() {
+ return listDatabasesSettings;
+ }
/** Returns the object with the settings used for calls to createDatabase. */
public UnaryCallSettings createDatabaseSettings() {
@@ -285,12 +291,6 @@ public UnaryCallSettings restoreDatabaseSetti
return listBackupOperationsSettings;
}
- /** Returns the object with the settings used for calls to listDatabases. */
- public PagedCallSettings
- listDatabasesSettings() {
- return listDatabasesSettings;
- }
-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
public DatabaseAdminStub createStub() throws IOException {
if (getTransportChannelProvider()
@@ -360,6 +360,7 @@ public Builder toBuilder() {
protected DatabaseAdminStubSettings(Builder settingsBuilder) throws IOException {
super(settingsBuilder);
+ listDatabasesSettings = settingsBuilder.listDatabasesSettings().build();
createDatabaseSettings = settingsBuilder.createDatabaseSettings().build();
createDatabaseOperationSettings = settingsBuilder.createDatabaseOperationSettings().build();
getDatabaseSettings = settingsBuilder.getDatabaseSettings().build();
@@ -381,9 +382,44 @@ protected DatabaseAdminStubSettings(Builder settingsBuilder) throws IOException
restoreDatabaseOperationSettings = settingsBuilder.restoreDatabaseOperationSettings().build();
listDatabaseOperationsSettings = settingsBuilder.listDatabaseOperationsSettings().build();
listBackupOperationsSettings = settingsBuilder.listBackupOperationsSettings().build();
- listDatabasesSettings = settingsBuilder.listDatabasesSettings().build();
}
+ private static final PagedListDescriptor
+ LIST_DATABASES_PAGE_STR_DESC =
+ new PagedListDescriptor() {
+ @Override
+ public String emptyToken() {
+ return "";
+ }
+
+ @Override
+ public ListDatabasesRequest injectToken(ListDatabasesRequest payload, String token) {
+ return ListDatabasesRequest.newBuilder(payload).setPageToken(token).build();
+ }
+
+ @Override
+ public ListDatabasesRequest injectPageSize(ListDatabasesRequest payload, int pageSize) {
+ return ListDatabasesRequest.newBuilder(payload).setPageSize(pageSize).build();
+ }
+
+ @Override
+ public Integer extractPageSize(ListDatabasesRequest payload) {
+ return payload.getPageSize();
+ }
+
+ @Override
+ public String extractNextToken(ListDatabasesResponse payload) {
+ return payload.getNextPageToken();
+ }
+
+ @Override
+ public Iterable extractResources(ListDatabasesResponse payload) {
+ return payload.getDatabasesList() != null
+ ? payload.getDatabasesList()
+ : ImmutableList.of();
+ }
+ };
+
private static final PagedListDescriptor
LIST_BACKUPS_PAGE_STR_DESC =
new PagedListDescriptor() {
@@ -502,39 +538,20 @@ public Iterable extractResources(ListBackupOperationsResponse payload
}
};
- private static final PagedListDescriptor
- LIST_DATABASES_PAGE_STR_DESC =
- new PagedListDescriptor() {
- @Override
- public String emptyToken() {
- return "";
- }
-
- @Override
- public ListDatabasesRequest injectToken(ListDatabasesRequest payload, String token) {
- return ListDatabasesRequest.newBuilder(payload).setPageToken(token).build();
- }
-
- @Override
- public ListDatabasesRequest injectPageSize(ListDatabasesRequest payload, int pageSize) {
- return ListDatabasesRequest.newBuilder(payload).setPageSize(pageSize).build();
- }
-
- @Override
- public Integer extractPageSize(ListDatabasesRequest payload) {
- return payload.getPageSize();
- }
-
- @Override
- public String extractNextToken(ListDatabasesResponse payload) {
- return payload.getNextPageToken();
- }
-
+ private static final PagedListResponseFactory<
+ ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
+ LIST_DATABASES_PAGE_STR_FACT =
+ new PagedListResponseFactory<
+ ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>() {
@Override
- public Iterable extractResources(ListDatabasesResponse payload) {
- return payload.getDatabasesList() != null
- ? payload.getDatabasesList()
- : ImmutableList.of();
+ public ApiFuture getFuturePagedResponse(
+ UnaryCallable callable,
+ ListDatabasesRequest request,
+ ApiCallContext context,
+ ApiFuture futureResponse) {
+ PageContext pageContext =
+ PageContext.create(callable, LIST_DATABASES_PAGE_STR_DESC, request, context);
+ return ListDatabasesPagedResponse.createAsync(pageContext, futureResponse);
}
};
@@ -602,27 +619,13 @@ public ApiFuture getFuturePagedResponse(
}
};
- private static final PagedListResponseFactory<
- ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
- LIST_DATABASES_PAGE_STR_FACT =
- new PagedListResponseFactory<
- ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>() {
- @Override
- public ApiFuture getFuturePagedResponse(
- UnaryCallable callable,
- ListDatabasesRequest request,
- ApiCallContext context,
- ApiFuture futureResponse) {
- PageContext pageContext =
- PageContext.create(callable, LIST_DATABASES_PAGE_STR_DESC, request, context);
- return ListDatabasesPagedResponse.createAsync(pageContext, futureResponse);
- }
- };
-
/** Builder for DatabaseAdminStubSettings. */
public static class Builder extends StubSettings.Builder {
private final ImmutableList> unaryMethodSettingsBuilders;
+ private final PagedCallSettings.Builder<
+ ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
+ listDatabasesSettings;
private final UnaryCallSettings.Builder
createDatabaseSettings;
private final OperationCallSettings.Builder<
@@ -665,9 +668,6 @@ public static class Builder extends StubSettings.Builder
listBackupOperationsSettings;
- private final PagedCallSettings.Builder<
- ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
- listDatabasesSettings;
private static final ImmutableMap>
RETRYABLE_CODE_DEFINITIONS;
@@ -710,6 +710,8 @@ protected Builder() {
protected Builder(ClientContext clientContext) {
super(clientContext);
+ listDatabasesSettings = PagedCallSettings.newBuilder(LIST_DATABASES_PAGE_STR_FACT);
+
createDatabaseSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
createDatabaseOperationSettings = OperationCallSettings.newBuilder();
@@ -752,10 +754,9 @@ protected Builder(ClientContext clientContext) {
listBackupOperationsSettings =
PagedCallSettings.newBuilder(LIST_BACKUP_OPERATIONS_PAGE_STR_FACT);
- listDatabasesSettings = PagedCallSettings.newBuilder(LIST_DATABASES_PAGE_STR_FACT);
-
unaryMethodSettingsBuilders =
ImmutableList.>of(
+ listDatabasesSettings,
createDatabaseSettings,
getDatabaseSettings,
updateDatabaseDdlSettings,
@@ -771,8 +772,7 @@ protected Builder(ClientContext clientContext) {
listBackupsSettings,
restoreDatabaseSettings,
listDatabaseOperationsSettings,
- listBackupOperationsSettings,
- listDatabasesSettings);
+ listBackupOperationsSettings);
initDefaults(this);
}
@@ -788,6 +788,11 @@ private static Builder createDefault() {
private static Builder initDefaults(Builder builder) {
+ builder
+ .listDatabasesSettings()
+ .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
+ .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
+
builder
.createDatabaseSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent"))
@@ -867,11 +872,6 @@ private static Builder initDefaults(Builder builder) {
.listBackupOperationsSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
-
- builder
- .listDatabasesSettings()
- .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent"))
- .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default"));
builder
.createDatabaseOperationSettings()
.setInitialCallSettings(
@@ -972,6 +972,7 @@ private static Builder initDefaults(Builder builder) {
protected Builder(DatabaseAdminStubSettings settings) {
super(settings);
+ listDatabasesSettings = settings.listDatabasesSettings.toBuilder();
createDatabaseSettings = settings.createDatabaseSettings.toBuilder();
createDatabaseOperationSettings = settings.createDatabaseOperationSettings.toBuilder();
getDatabaseSettings = settings.getDatabaseSettings.toBuilder();
@@ -992,10 +993,10 @@ protected Builder(DatabaseAdminStubSettings settings) {
restoreDatabaseOperationSettings = settings.restoreDatabaseOperationSettings.toBuilder();
listDatabaseOperationsSettings = settings.listDatabaseOperationsSettings.toBuilder();
listBackupOperationsSettings = settings.listBackupOperationsSettings.toBuilder();
- listDatabasesSettings = settings.listDatabasesSettings.toBuilder();
unaryMethodSettingsBuilders =
ImmutableList.>of(
+ listDatabasesSettings,
createDatabaseSettings,
getDatabaseSettings,
updateDatabaseDdlSettings,
@@ -1011,8 +1012,7 @@ protected Builder(DatabaseAdminStubSettings settings) {
listBackupsSettings,
restoreDatabaseSettings,
listDatabaseOperationsSettings,
- listBackupOperationsSettings,
- listDatabasesSettings);
+ listBackupOperationsSettings);
}
// NEXT_MAJOR_VER: remove 'throws Exception'
@@ -1031,6 +1031,13 @@ public Builder applyToAllUnaryMethods(
return unaryMethodSettingsBuilders;
}
+ /** Returns the builder for the settings used for calls to listDatabases. */
+ public PagedCallSettings.Builder<
+ ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
+ listDatabasesSettings() {
+ return listDatabasesSettings;
+ }
+
/** Returns the builder for the settings used for calls to createDatabase. */
public UnaryCallSettings.Builder createDatabaseSettings() {
return createDatabaseSettings;
@@ -1156,13 +1163,6 @@ public UnaryCallSettings.Builder restoreDatab
return listBackupOperationsSettings;
}
- /** Returns the builder for the settings used for calls to listDatabases. */
- public PagedCallSettings.Builder<
- ListDatabasesRequest, ListDatabasesResponse, ListDatabasesPagedResponse>
- listDatabasesSettings() {
- return listDatabasesSettings;
- }
-
@Override
public DatabaseAdminStubSettings build() throws IOException {
return new DatabaseAdminStubSettings(this);
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java
index be44d2be02..aaf318ca90 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/GrpcDatabaseAdminStub.java
@@ -80,6 +80,16 @@
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
public class GrpcDatabaseAdminStub extends DatabaseAdminStub {
+ private static final MethodDescriptor
+ listDatabasesMethodDescriptor =
+ MethodDescriptor.newBuilder()
+ .setType(MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/ListDatabases")
+ .setRequestMarshaller(
+ ProtoUtils.marshaller(ListDatabasesRequest.getDefaultInstance()))
+ .setResponseMarshaller(
+ ProtoUtils.marshaller(ListDatabasesResponse.getDefaultInstance()))
+ .build();
private static final MethodDescriptor
createDatabaseMethodDescriptor =
MethodDescriptor.newBuilder()
@@ -218,20 +228,13 @@ public class GrpcDatabaseAdminStub extends DatabaseAdminStub {
.setResponseMarshaller(
ProtoUtils.marshaller(ListBackupOperationsResponse.getDefaultInstance()))
.build();
- private static final MethodDescriptor
- listDatabasesMethodDescriptor =
- MethodDescriptor.newBuilder()
- .setType(MethodDescriptor.MethodType.UNARY)
- .setFullMethodName("google.spanner.admin.database.v1.DatabaseAdmin/ListDatabases")
- .setRequestMarshaller(
- ProtoUtils.marshaller(ListDatabasesRequest.getDefaultInstance()))
- .setResponseMarshaller(
- ProtoUtils.marshaller(ListDatabasesResponse.getDefaultInstance()))
- .build();
private final BackgroundResource backgroundResources;
private final GrpcOperationsStub operationsStub;
+ private final UnaryCallable listDatabasesCallable;
+ private final UnaryCallable
+ listDatabasesPagedCallable;
private final UnaryCallable createDatabaseCallable;
private final OperationCallable
createDatabaseOperationCallable;
@@ -265,9 +268,6 @@ public class GrpcDatabaseAdminStub extends DatabaseAdminStub {
listBackupOperationsCallable;
private final UnaryCallable
listBackupOperationsPagedCallable;
- private final UnaryCallable listDatabasesCallable;
- private final UnaryCallable
- listDatabasesPagedCallable;
private final GrpcStubCallableFactory callableFactory;
@@ -309,6 +309,19 @@ protected GrpcDatabaseAdminStub(
this.callableFactory = callableFactory;
this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory);
+ GrpcCallSettings listDatabasesTransportSettings =
+ GrpcCallSettings.newBuilder()
+ .setMethodDescriptor(listDatabasesMethodDescriptor)
+ .setParamsExtractor(
+ new RequestParamsExtractor() {
+ @Override
+ public Map extract(ListDatabasesRequest request) {
+ ImmutableMap.Builder params = ImmutableMap.builder();
+ params.put("parent", String.valueOf(request.getParent()));
+ return params.build();
+ }
+ })
+ .build();
GrpcCallSettings createDatabaseTransportSettings =
GrpcCallSettings.newBuilder()
.setMethodDescriptor(createDatabaseMethodDescriptor)
@@ -522,20 +535,13 @@ public Map extract(ListBackupOperationsRequest request) {
}
})
.build();
- GrpcCallSettings listDatabasesTransportSettings =
- GrpcCallSettings.newBuilder()
- .setMethodDescriptor(listDatabasesMethodDescriptor)
- .setParamsExtractor(
- new RequestParamsExtractor() {
- @Override
- public Map extract(ListDatabasesRequest request) {
- ImmutableMap.Builder params = ImmutableMap.builder();
- params.put("parent", String.valueOf(request.getParent()));
- return params.build();
- }
- })
- .build();
+ this.listDatabasesCallable =
+ callableFactory.createUnaryCallable(
+ listDatabasesTransportSettings, settings.listDatabasesSettings(), clientContext);
+ this.listDatabasesPagedCallable =
+ callableFactory.createPagedCallable(
+ listDatabasesTransportSettings, settings.listDatabasesSettings(), clientContext);
this.createDatabaseCallable =
callableFactory.createUnaryCallable(
createDatabaseTransportSettings, settings.createDatabaseSettings(), clientContext);
@@ -629,12 +635,6 @@ public Map extract(ListDatabasesRequest request) {
listBackupOperationsTransportSettings,
settings.listBackupOperationsSettings(),
clientContext);
- this.listDatabasesCallable =
- callableFactory.createUnaryCallable(
- listDatabasesTransportSettings, settings.listDatabasesSettings(), clientContext);
- this.listDatabasesPagedCallable =
- callableFactory.createPagedCallable(
- listDatabasesTransportSettings, settings.listDatabasesSettings(), clientContext);
backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources());
}
@@ -644,6 +644,15 @@ public GrpcOperationsStub getOperationsStub() {
return operationsStub;
}
+ public UnaryCallable
+ listDatabasesPagedCallable() {
+ return listDatabasesPagedCallable;
+ }
+
+ public UnaryCallable listDatabasesCallable() {
+ return listDatabasesCallable;
+ }
+
@BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
public OperationCallable
createDatabaseOperationCallable() {
@@ -749,15 +758,6 @@ public UnaryCallable restoreDatabaseCallable(
return listBackupOperationsCallable;
}
- public UnaryCallable
- listDatabasesPagedCallable() {
- return listDatabasesPagedCallable;
- }
-
- public UnaryCallable listDatabasesCallable() {
- return listDatabasesCallable;
- }
-
@Override
public final void close() {
shutdown();
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java
index 1c07f9fc30..78efb14466 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java
@@ -119,6 +119,54 @@ public void tearDown() throws Exception {
client.close();
}
+ @Test
+ @SuppressWarnings("all")
+ public void listDatabasesTest() {
+ String nextPageToken = "";
+ Database databasesElement = Database.newBuilder().build();
+ List databases = Arrays.asList(databasesElement);
+ ListDatabasesResponse expectedResponse =
+ ListDatabasesResponse.newBuilder()
+ .setNextPageToken(nextPageToken)
+ .addAllDatabases(databases)
+ .build();
+ mockDatabaseAdmin.addResponse(expectedResponse);
+
+ InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+
+ ListDatabasesPagedResponse pagedListResponse = client.listDatabases(parent);
+
+ List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+ Assert.assertEquals(1, resources.size());
+ Assert.assertEquals(expectedResponse.getDatabasesList().get(0), resources.get(0));
+
+ List actualRequests = mockDatabaseAdmin.getRequests();
+ Assert.assertEquals(1, actualRequests.size());
+ ListDatabasesRequest actualRequest = (ListDatabasesRequest) actualRequests.get(0);
+
+ Assert.assertEquals(parent, InstanceName.parse(actualRequest.getParent()));
+ Assert.assertTrue(
+ channelProvider.isHeaderSent(
+ ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+ GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+ }
+
+ @Test
+ @SuppressWarnings("all")
+ public void listDatabasesExceptionTest() throws Exception {
+ StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
+ mockDatabaseAdmin.addException(exception);
+
+ try {
+ InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
+
+ client.listDatabases(parent);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception
+ }
+ }
+
@Test
@SuppressWarnings("all")
public void createDatabaseTest() throws Exception {
@@ -845,52 +893,4 @@ public void listBackupOperationsExceptionTest() throws Exception {
// Expected exception
}
}
-
- @Test
- @SuppressWarnings("all")
- public void listDatabasesTest() {
- String nextPageToken = "";
- Database databasesElement = Database.newBuilder().build();
- List databases = Arrays.asList(databasesElement);
- ListDatabasesResponse expectedResponse =
- ListDatabasesResponse.newBuilder()
- .setNextPageToken(nextPageToken)
- .addAllDatabases(databases)
- .build();
- mockDatabaseAdmin.addResponse(expectedResponse);
-
- InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
-
- ListDatabasesPagedResponse pagedListResponse = client.listDatabases(parent);
-
- List resources = Lists.newArrayList(pagedListResponse.iterateAll());
- Assert.assertEquals(1, resources.size());
- Assert.assertEquals(expectedResponse.getDatabasesList().get(0), resources.get(0));
-
- List actualRequests = mockDatabaseAdmin.getRequests();
- Assert.assertEquals(1, actualRequests.size());
- ListDatabasesRequest actualRequest = (ListDatabasesRequest) actualRequests.get(0);
-
- Assert.assertEquals(parent, InstanceName.parse(actualRequest.getParent()));
- Assert.assertTrue(
- channelProvider.isHeaderSent(
- ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
- GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
- }
-
- @Test
- @SuppressWarnings("all")
- public void listDatabasesExceptionTest() throws Exception {
- StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
- mockDatabaseAdmin.addException(exception);
-
- try {
- InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
-
- client.listDatabases(parent);
- Assert.fail("No exception raised");
- } catch (InvalidArgumentException e) {
- // Expected exception
- }
- }
}
diff --git a/synth.metadata b/synth.metadata
index 624f68153b..a19efd18dc 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -4,15 +4,15 @@
"git": {
"name": ".",
"remote": "https://github.com/googleapis/java-spanner.git",
- "sha": "be7d713eaa1f7342f43cf6cdc0b08109b69cd4cc"
+ "sha": "87049575c14a4b954b49a25620ef7ada4738c1a6"
}
},
{
"git": {
"name": "googleapis",
"remote": "https://github.com/googleapis/googleapis.git",
- "sha": "e0f9d9e1f9de890db765be46f45ca8490723e3eb",
- "internalRef": "309824146"
+ "sha": "d8a17933f650cf605196ef14f03edc246f0562b6",
+ "internalRef": "312582296"
}
},
{