diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java index a846e573be16..9c9a117bffd7 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java @@ -243,10 +243,12 @@ private void createClients() { CosmosAsyncContainer cosmosAsyncContainer = null; boolean databaseCreated = false; try { - cosmosAsyncDatabase = asyncClient.getDatabase(this.configuration.getDatabaseId()).read().block().getDatabase(); + cosmosAsyncDatabase = asyncClient.getDatabase(this.configuration.getDatabaseId()); + cosmosAsyncDatabase.read().block(); } catch (CosmosException e) { if (e.getStatusCode() == HttpConstants.StatusCodes.NOTFOUND) { - cosmosAsyncDatabase = asyncClient.createDatabase(this.configuration.getDatabaseId()).block().getDatabase(); + asyncClient.createDatabase(this.configuration.getDatabaseId()).block(); + cosmosAsyncDatabase = asyncClient.getDatabase(this.configuration.getDatabaseId()); logger.info("Database {} is created for this test on host {}", this.configuration.getDatabaseId(), endpoint); databaseCreated = true; databaseListToClear.add(cosmosAsyncDatabase); diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncBenchmark.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncBenchmark.java index 1355756dd704..e43f5a9708bb 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncBenchmark.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsyncBenchmark.java @@ -83,14 +83,14 @@ abstract class AsyncBenchmark { logger = LoggerFactory.getLogger(this.getClass()); try { - cosmosAsyncDatabase = cosmosClient.getDatabase( - this.configuration.getDatabaseId() - ).read().doOnError(error -> + cosmosAsyncDatabase = cosmosClient.getDatabase(this.configuration.getDatabaseId()); + cosmosAsyncDatabase.read().doOnError(error -> logger.error("Database {} creation failed due to ", this.configuration.getDatabaseId(), error) - ).block().getDatabase(); + ).block(); } catch (CosmosException e) { if (e.getStatusCode() == HttpConstants.StatusCodes.NOTFOUND) { - cosmosAsyncDatabase = cosmosClient.createDatabase(cfg.getDatabaseId()).block().getDatabase(); + cosmosClient.createDatabase(cfg.getDatabaseId()).block(); + cosmosAsyncDatabase = cosmosClient.getDatabase(cfg.getDatabaseId()); logger.info("Database {} is created for this test", this.configuration.getDatabaseId()); databaseCreated = true; } else { diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/SyncBenchmark.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/SyncBenchmark.java index 5f40d830cd62..41cb12545802 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/SyncBenchmark.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/SyncBenchmark.java @@ -119,11 +119,13 @@ public T apply(T o, Throwable throwable) { } cosmosClient = cosmosClientBuilder.buildClient(); try { - cosmosDatabase = cosmosClient.getDatabase(this.configuration.getDatabaseId()).read().getDatabase(); + cosmosDatabase = cosmosClient.getDatabase(this.configuration.getDatabaseId()); + cosmosDatabase.read(); logger.info("Database {} is created for this test", this.configuration.getDatabaseId()); } catch (CosmosException e) { if (e.getStatusCode() == HttpConstants.StatusCodes.NOTFOUND) { - cosmosDatabase = cosmosClient.createDatabase(cfg.getDatabaseId()).getDatabase(); + cosmosClient.createDatabase(cfg.getDatabaseId()); + cosmosDatabase = cosmosClient.getDatabase(cfg.getDatabaseId()); databaseCreated = true; } else { throw e; diff --git a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java index 94391cc02dd7..58db3abe2866 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java +++ b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/BasicDemo.java @@ -5,7 +5,6 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosAsyncDatabase; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncItemResponse; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.CosmosException; @@ -102,7 +101,7 @@ private void createDbAndContainerBlocking() { client.createDatabaseIfNotExists(DATABASE_NAME) .doOnSuccess(cosmosDatabaseResponse -> log("Database: " + DATABASE_NAME)) - .flatMap(dbResponse -> dbResponse.getDatabase() + .flatMap(dbResponse -> client.getDatabase(DATABASE_NAME) .createContainerIfNotExists(new CosmosContainerProperties(CONTAINER_NAME, "/country"))) .doOnSuccess(cosmosContainerResponse -> log("Container: " + CONTAINER_NAME)) diff --git a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/ChangeFeed/SampleChangeFeedProcessor.java b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/ChangeFeed/SampleChangeFeedProcessor.java index 7955e3ac5dd7..4c165e1a5152 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/ChangeFeed/SampleChangeFeedProcessor.java +++ b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/ChangeFeed/SampleChangeFeedProcessor.java @@ -127,7 +127,8 @@ public static CosmosAsyncClient getCosmosClient() { } public static CosmosAsyncDatabase createNewDatabase(CosmosAsyncClient client, String databaseName) { - return client.createDatabaseIfNotExists(databaseName).block().getDatabase(); + client.createDatabaseIfNotExists(databaseName).block(); + return client.getDatabase(databaseName); } public static void deleteDatabase(CosmosAsyncDatabase cosmosDatabase) { diff --git a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/HelloWorldDemo.java b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/HelloWorldDemo.java index ca79a73be62f..27a787d0c191 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/HelloWorldDemo.java +++ b/sdk/cosmos/azure-cosmos-examples/src/main/java/com/azure/cosmos/examples/HelloWorldDemo.java @@ -29,7 +29,7 @@ void runDemo() { // This will create (or read) a database and its container. CosmosAsyncContainer container = client.createDatabaseIfNotExists(DATABASE_NAME) // TIP: Our APIs are Reactor Core based, so try to chain your calls - .flatMap(response -> response.getDatabase() + .flatMap(response -> client.getDatabase(DATABASE_NAME) .createContainerIfNotExists(CONTAINER_NAME, "/id")) .flatMap(response -> Mono.just(client.getDatabase(DATABASE_NAME).getContainer(CONTAINER_NAME))) .block(); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java index 2c41b56070cc..c7ef4e45ecb9 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java @@ -11,7 +11,7 @@ import com.azure.cosmos.implementation.Database; import com.azure.cosmos.implementation.HttpConstants; import com.azure.cosmos.implementation.directconnectivity.rntbd.RntbdMetrics; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosPermissionProperties; @@ -194,7 +194,7 @@ boolean isContentResponseOnWriteEnabled() { * @return a {@link Mono} containing the cosmos database response with the created or existing database or * an error. */ - Mono createDatabaseIfNotExists(CosmosDatabaseProperties databaseSettings) { + Mono createDatabaseIfNotExists(CosmosDatabaseProperties databaseSettings) { return createDatabaseIfNotExistsInternal(getDatabase(databaseSettings.getId())); } @@ -208,11 +208,11 @@ Mono createDatabaseIfNotExists(CosmosDatabaseProper * @return a {@link Mono} containing the cosmos database response with the created or existing database or * an error. */ - public Mono createDatabaseIfNotExists(String id) { + public Mono createDatabaseIfNotExists(String id) { return createDatabaseIfNotExistsInternal(getDatabase(id)); } - private Mono createDatabaseIfNotExistsInternal(CosmosAsyncDatabase database) { + private Mono createDatabaseIfNotExistsInternal(CosmosAsyncDatabase database) { return database.read().onErrorResume(exception -> { final Throwable unwrappedException = Exceptions.unwrap(exception); if (unwrappedException instanceof CosmosException) { @@ -239,7 +239,7 @@ private Mono createDatabaseIfNotExistsInternal(Cosm * @param throughputProperties the throughputProperties. * @return the mono. */ - public Mono createDatabaseIfNotExists(String id, ThroughputProperties throughputProperties) { + public Mono createDatabaseIfNotExists(String id, ThroughputProperties throughputProperties) { return this.getDatabase(id).read().onErrorResume(exception -> { final Throwable unwrappedException = Exceptions.unwrap(exception); if (unwrappedException instanceof CosmosException) { @@ -267,16 +267,15 @@ public Mono createDatabaseIfNotExists(String id, Th * @param options {@link CosmosDatabaseRequestOptions}. * @return an {@link Mono} containing the single cosmos database response with the created database or an error. */ - public Mono createDatabase(CosmosDatabaseProperties databaseSettings, - CosmosDatabaseRequestOptions options) { + public Mono createDatabase(CosmosDatabaseProperties databaseSettings, + CosmosDatabaseRequestOptions options) { if (options == null) { options = new CosmosDatabaseRequestOptions(); } Database wrappedDatabase = new Database(); wrappedDatabase.setId(databaseSettings.getId()); return asyncDocumentClient.createDatabase(wrappedDatabase, ModelBridgeInternal.toRequestOptions(options)) - .map(databaseResourceResponse -> ModelBridgeInternal.createCosmosAsyncDatabaseResponse(databaseResourceResponse, - this)) + .map(databaseResourceResponse -> ModelBridgeInternal.createCosmosDatabaseResponse(databaseResourceResponse)) .single(); } @@ -291,7 +290,7 @@ public Mono createDatabase(CosmosDatabaseProperties * @param databaseSettings {@link CosmosDatabaseProperties}. * @return an {@link Mono} containing the single cosmos database response with the created database or an error. */ - public Mono createDatabase(CosmosDatabaseProperties databaseSettings) { + public Mono createDatabase(CosmosDatabaseProperties databaseSettings) { return createDatabase(databaseSettings, new CosmosDatabaseRequestOptions()); } @@ -306,7 +305,7 @@ public Mono createDatabase(CosmosDatabaseProperties * @param id id of the database. * @return a {@link Mono} containing the single cosmos database response with the created database or an error. */ - public Mono createDatabase(String id) { + public Mono createDatabase(String id) { return createDatabase(new CosmosDatabaseProperties(id), new CosmosDatabaseRequestOptions()); } @@ -323,9 +322,9 @@ public Mono createDatabase(String id) { * @param options {@link CosmosDatabaseRequestOptions}. * @return an {@link Mono} containing the single cosmos database response with the created database or an error. */ - public Mono createDatabase(CosmosDatabaseProperties databaseSettings, - ThroughputProperties throughputProperties, - CosmosDatabaseRequestOptions options) { + public Mono createDatabase(CosmosDatabaseProperties databaseSettings, + ThroughputProperties throughputProperties, + CosmosDatabaseRequestOptions options) { if (options == null) { options = new CosmosDatabaseRequestOptions(); } @@ -333,8 +332,7 @@ public Mono createDatabase(CosmosDatabaseProperties Database wrappedDatabase = new Database(); wrappedDatabase.setId(databaseSettings.getId()); return asyncDocumentClient.createDatabase(wrappedDatabase, ModelBridgeInternal.toRequestOptions(options)) - .map(databaseResourceResponse -> ModelBridgeInternal.createCosmosAsyncDatabaseResponse(databaseResourceResponse, - this)) + .map(databaseResourceResponse -> ModelBridgeInternal.createCosmosDatabaseResponse(databaseResourceResponse)) .single(); } @@ -350,7 +348,7 @@ public Mono createDatabase(CosmosDatabaseProperties * @param throughputProperties the throughput properties for the database. * @return an {@link Mono} containing the single cosmos database response with the created database or an error. */ - public Mono createDatabase(CosmosDatabaseProperties databaseSettings, ThroughputProperties throughputProperties) { + public Mono createDatabase(CosmosDatabaseProperties databaseSettings, ThroughputProperties throughputProperties) { CosmosDatabaseRequestOptions options = new CosmosDatabaseRequestOptions(); ModelBridgeInternal.setThroughputProperties(options, throughputProperties); return createDatabase(databaseSettings, options); @@ -368,7 +366,7 @@ public Mono createDatabase(CosmosDatabaseProperties * @param throughput the throughput for the database. * @return a {@link Mono} containing the single cosmos database response with the created database or an error. */ - Mono createDatabase(String id, int throughput) { + Mono createDatabase(String id, int throughput) { CosmosDatabaseRequestOptions options = new CosmosDatabaseRequestOptions(); ModelBridgeInternal.setThroughputProperties(options, ThroughputProperties.createManualThroughput(throughput)); return createDatabase(new CosmosDatabaseProperties(id), options); @@ -381,7 +379,7 @@ Mono createDatabase(String id, int throughput) { * @param throughputProperties the throughputProperties. * @return the mono. */ - public Mono createDatabase(String id, ThroughputProperties throughputProperties) { + public Mono createDatabase(String id, ThroughputProperties throughputProperties) { CosmosDatabaseRequestOptions options = new CosmosDatabaseRequestOptions(); ModelBridgeInternal.setThroughputProperties(options, throughputProperties); return createDatabase(new CosmosDatabaseProperties(id), options); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java index dcc8690b9dec..c4cc5318aea1 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncDatabase.java @@ -7,7 +7,7 @@ import com.azure.cosmos.implementation.Offer; import com.azure.cosmos.implementation.Paths; import com.azure.cosmos.models.CosmosContainerResponse; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosUserResponse; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; @@ -63,7 +63,7 @@ public String getId() { * @return an {@link Mono} containing the single cosmos database respone with * the read database or an error. */ - public Mono read() { + public Mono read() { return read(new CosmosDatabaseRequestOptions()); } @@ -78,12 +78,12 @@ public Mono read() { * @return an {@link Mono} containing the single cosmos database response with * the read database or an error. */ - public Mono read(CosmosDatabaseRequestOptions options) { + public Mono read(CosmosDatabaseRequestOptions options) { if (options == null) { options = new CosmosDatabaseRequestOptions(); } return getDocClientWrapper().readDatabase(getLink(), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncDatabaseResponse(response, getClient())).single(); + .map(response -> ModelBridgeInternal.createCosmosDatabaseResponse(response)).single(); } /** @@ -95,7 +95,7 @@ public Mono read(CosmosDatabaseRequestOptions optio * * @return an {@link Mono} containing the single cosmos database response. */ - public Mono delete() { + public Mono delete() { return delete(new CosmosDatabaseRequestOptions()); } @@ -109,12 +109,12 @@ public Mono delete() { * @param options the request options. * @return an {@link Mono} containing the single cosmos database response. */ - public Mono delete(CosmosDatabaseRequestOptions options) { + public Mono delete(CosmosDatabaseRequestOptions options) { if (options == null) { options = new CosmosDatabaseRequestOptions(); } return getDocClientWrapper().deleteDatabase(getLink(), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncDatabaseResponse(response, getClient())).single(); + .map(response -> ModelBridgeInternal.createCosmosDatabaseResponse(response)).single(); } /* CosmosAsyncContainer operations */ diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java index 8ff162adbb58..322bd8f1abe2 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClient.java @@ -4,12 +4,10 @@ package com.azure.cosmos; import com.azure.core.annotation.ServiceClient; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.FeedOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.models.ThroughputProperties; import com.azure.cosmos.util.CosmosPagedFlux; @@ -136,11 +134,9 @@ public CosmosDatabaseResponse createDatabase(String id, ThroughputProperties thr return mapDatabaseResponseAndBlock(asyncClientWrapper.createDatabase(id, throughputProperties)); } - CosmosDatabaseResponse mapDatabaseResponseAndBlock(Mono databaseMono) { + CosmosDatabaseResponse mapDatabaseResponseAndBlock(Mono databaseMono) { try { - return databaseMono - .map(this::convertResponse) - .block(); + return databaseMono.block(); } catch (Exception ex) { final Throwable throwable = Exceptions.unwrap(ex); if (throwable instanceof CosmosException) { @@ -203,10 +199,6 @@ public CosmosDatabase getDatabase(String id) { return new CosmosDatabase(id, this, asyncClientWrapper.getDatabase(id)); } - CosmosDatabaseResponse convertResponse(CosmosAsyncDatabaseResponse response) { - return ModelBridgeInternal.createCosmosDatabaseResponse(response, this); - } - CosmosAsyncClient asyncClient() { return this.asyncClientWrapper; } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java index f8744745a8e7..6e73914f2513 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/ChangeFeedContextClient.java @@ -6,7 +6,7 @@ import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.models.CosmosContainerResponse; import com.azure.cosmos.CosmosAsyncDatabase; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncItemResponse; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; @@ -53,7 +53,7 @@ Flux> createDocumentChangeFeedQuery(CosmosAsyncContainer * @param options the {@link CosmosContainerRequestOptions} for this request; it can be set as null. * @return an {@link Mono} containing the single cosmos database response with the read database or an error. */ - Mono readDatabase(CosmosAsyncDatabase database, CosmosDatabaseRequestOptions options); + Mono readDatabase(CosmosAsyncDatabase database, CosmosDatabaseRequestOptions options); /** * Reads a {@link CosmosAsyncContainer}. diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java index f577ab33ec91..df0d299c3451 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedContextClientImpl.java @@ -7,7 +7,7 @@ import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.models.CosmosContainerResponse; import com.azure.cosmos.CosmosAsyncDatabase; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncItemResponse; import com.azure.cosmos.CosmosBridgeInternal; import com.azure.cosmos.models.CosmosContainerProperties; @@ -101,7 +101,7 @@ public Flux> createDocumentChangeFeedQuery(CosmosAsyncCon } @Override - public Mono readDatabase(CosmosAsyncDatabase database, CosmosDatabaseRequestOptions options) { + public Mono readDatabase(CosmosAsyncDatabase database, CosmosDatabaseRequestOptions options) { return database.read() .publishOn(this.rxScheduler); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedProcessorBuilderImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedProcessorBuilderImpl.java index e044becfd2df..fff427c5d988 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedProcessorBuilderImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/changefeed/implementation/ChangeFeedProcessorBuilderImpl.java @@ -420,7 +420,7 @@ private Mono initializeCollectionPropertiesForBuild() { return this.feedContextClient .readDatabase(this.feedContextClient.getDatabaseClient(), null) .map( databaseResourceResponse -> { - this.databaseResourceId = databaseResourceResponse.getDatabase().getId(); + this.databaseResourceId = databaseResourceResponse.getProperties().getId(); return this.databaseResourceId; }) .flatMap( id -> this.feedContextClient diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncDatabaseResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncDatabaseResponse.java deleted file mode 100644 index 5cd11529736c..000000000000 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncDatabaseResponse.java +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -package com.azure.cosmos.models; - -import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.CosmosAsyncClient; -import com.azure.cosmos.CosmosAsyncDatabase; -import com.azure.cosmos.implementation.Database; -import com.azure.cosmos.implementation.ResourceResponse; -import com.azure.cosmos.implementation.SerializationDiagnosticsContext; -import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; - -import java.time.ZoneOffset; -import java.time.ZonedDateTime; - -/** - * The type Cosmos async database response. - */ -public class CosmosAsyncDatabaseResponse extends CosmosResponse { - private final CosmosAsyncDatabase database; - - CosmosAsyncDatabaseResponse(ResourceResponse response, CosmosAsyncClient client) { - super(response); - String bodyAsString = response.getBodyAsString(); - if (StringUtils.isEmpty(bodyAsString)) { - super.setProperties(null); - database = null; - } else { - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(this.getDiagnostics()); - ZonedDateTime serializationStartTime = ZonedDateTime.now(ZoneOffset.UTC); - CosmosDatabaseProperties props = new CosmosDatabaseProperties(bodyAsString, null); - ZonedDateTime serializationEndTime = ZonedDateTime.now(ZoneOffset.UTC); - SerializationDiagnosticsContext.SerializationDiagnostics diagnostics = new SerializationDiagnosticsContext.SerializationDiagnostics( - serializationStartTime, - serializationEndTime, - SerializationDiagnosticsContext.SerializationType.DATABASE_DESERIALIZATION - ); - serializationDiagnosticsContext.addSerializationDiagnostics(diagnostics); - super.setProperties(props); - database = BridgeInternal.createCosmosAsyncDatabase(props.getId(), client); - } - } - - /** - * Gets the CosmosAsyncDatabase object - * - * @return {@link CosmosAsyncDatabase} - */ - public CosmosAsyncDatabase getDatabase() { - return database; - } - - /** - * Gets the cosmos database properties - * - * @return the cosmos database properties - */ - public CosmosDatabaseProperties getProperties() { - return super.getProperties(); - } - - /** - * Gets the Max Quota. - * - * @return the getDatabase quota. - */ - public long getDatabaseQuota() { - return resourceResponseWrapper.getDatabaseQuota(); - } - - /** - * Gets the current Usage. - * - * @return the current getDatabase usage. - */ - public long getDatabaseUsage() { - return resourceResponseWrapper.getDatabaseUsage(); - } - -} diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosDatabaseResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosDatabaseResponse.java index 2a897f27607b..12a86e230936 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosDatabaseResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosDatabaseResponse.java @@ -1,65 +1,67 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - package com.azure.cosmos.models; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.CosmosClient; -import com.azure.cosmos.CosmosDatabase; +import com.azure.cosmos.CosmosAsyncClient; +import com.azure.cosmos.implementation.Database; +import com.azure.cosmos.implementation.ResourceResponse; +import com.azure.cosmos.implementation.SerializationDiagnosticsContext; +import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; + +import java.time.ZoneOffset; +import java.time.ZonedDateTime; /** - * The type Cosmos database response. This contains get the methods to obtain database properties and other response - * methods + * The type Cosmos database response. */ public class CosmosDatabaseResponse extends CosmosResponse { - private final CosmosAsyncDatabaseResponse responseWrapper; - private final CosmosDatabase database; - CosmosDatabaseResponse(CosmosAsyncDatabaseResponse response, CosmosClient client) { - super(response.resourceResponseWrapper, response.getProperties()); - this.responseWrapper = response; - if (responseWrapper.getDatabase() != null) { - this.database = BridgeInternal.createCosmosDatabase(responseWrapper.getDatabase().getId(), client, - responseWrapper.getDatabase()); + CosmosDatabaseResponse(ResourceResponse response) { + super(response); + String bodyAsString = response.getBodyAsString(); + if (StringUtils.isEmpty(bodyAsString)) { + super.setProperties(null); } else { - this.database = null; + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(this.getDiagnostics()); + ZonedDateTime serializationStartTime = ZonedDateTime.now(ZoneOffset.UTC); + CosmosDatabaseProperties props = new CosmosDatabaseProperties(bodyAsString, null); + ZonedDateTime serializationEndTime = ZonedDateTime.now(ZoneOffset.UTC); + SerializationDiagnosticsContext.SerializationDiagnostics diagnostics = new SerializationDiagnosticsContext.SerializationDiagnostics( + serializationStartTime, + serializationEndTime, + SerializationDiagnosticsContext.SerializationType.DATABASE_DESERIALIZATION + ); + serializationDiagnosticsContext.addSerializationDiagnostics(diagnostics); + super.setProperties(props); } } - /** - * Gets the CosmosAsyncDatabase object - * - * @return {@link CosmosDatabase} - */ - public CosmosDatabase getDatabase() { - return database; - } - /** * Gets the cosmos database properties * * @return the cosmos database properties */ public CosmosDatabaseProperties getProperties() { - return responseWrapper.getProperties(); + return super.getProperties(); } /** * Gets the Max Quota. * - * @return the database quota. + * @return the getDatabase quota. */ public long getDatabaseQuota() { - return responseWrapper.getDatabaseQuota(); + return resourceResponseWrapper.getDatabaseQuota(); } /** * Gets the current Usage. * - * @return the current database usage. + * @return the current getDatabase usage. */ public long getDatabaseUsage() { - return responseWrapper.getDatabaseUsage(); + return resourceResponseWrapper.getDatabaseUsage(); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java index 3cacb3759b72..d65424f6d83e 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java @@ -7,8 +7,6 @@ import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosAsyncUser; -import com.azure.cosmos.CosmosClient; -import com.azure.cosmos.CosmosDatabase; import com.azure.cosmos.CosmosTrigger; import com.azure.cosmos.CosmosUserDefinedFunction; import com.azure.cosmos.implementation.Conflict; @@ -81,9 +79,8 @@ public static CosmosContainerResponse createCosmosContainerResponse(ResourceResp } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosAsyncDatabaseResponse createCosmosAsyncDatabaseResponse(ResourceResponse response, - CosmosAsyncClient client) { - return new CosmosAsyncDatabaseResponse(response, client); + public static CosmosDatabaseResponse createCosmosDatabaseResponse(ResourceResponse response) { + return new CosmosDatabaseResponse(response); } @Warning(value = INTERNAL_USE_ONLY_WARNING) @@ -144,11 +141,6 @@ public static CosmosItemResponse createCosmosItemResponse(CosmosAsyncItem return new CosmosItemResponse<>(response); } - @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosDatabaseResponse createCosmosDatabaseResponse(CosmosAsyncDatabaseResponse response, CosmosClient client) { - return new CosmosDatabaseResponse(response, client); - } - @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosUserDefinedFunctionResponse createCosmosUserDefinedFunctionResponse(CosmosAsyncUserDefinedFunctionResponse resourceResponse, CosmosUserDefinedFunction userDefinedFunction) { diff --git a/sdk/cosmos/azure-cosmos/src/samples/java/com/azure/cosmos/AnalyticalStorageCodeSnippet.java b/sdk/cosmos/azure-cosmos/src/samples/java/com/azure/cosmos/AnalyticalStorageCodeSnippet.java index 6d95fca46413..7b9c8ed99db2 100644 --- a/sdk/cosmos/azure-cosmos/src/samples/java/com/azure/cosmos/AnalyticalStorageCodeSnippet.java +++ b/sdk/cosmos/azure-cosmos/src/samples/java/com/azure/cosmos/AnalyticalStorageCodeSnippet.java @@ -4,11 +4,13 @@ package com.azure.cosmos; import com.azure.cosmos.implementation.TestConfigurations; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; import com.azure.cosmos.models.CosmosContainerProperties; public class AnalyticalStorageCodeSnippet { + private static final String DATABASE_NAME = "testDB"; + private static final String CONTAINER_NAME = "testContainer"; + public static void main(String[] args) throws Exception { CosmosAsyncClient client = new CosmosClientBuilder() @@ -16,11 +18,10 @@ public static void main(String[] args) throws Exception { .key(TestConfigurations.MASTER_KEY) .buildAsyncClient(); - CosmosAsyncDatabaseResponse database = client.createDatabaseIfNotExists("testDB").block(); - CosmosContainerProperties cosmosContainerProperties = new CosmosContainerProperties("testContainer", "/id"); + client.createDatabaseIfNotExists(DATABASE_NAME).block(); + CosmosContainerProperties cosmosContainerProperties = new CosmosContainerProperties(CONTAINER_NAME, "/id"); cosmosContainerProperties.setAnalyticalStoreTimeToLiveInSeconds(-1); - - database.getDatabase().createContainer(cosmosContainerProperties).block(); + client.getDatabase(DATABASE_NAME).createContainer(cosmosContainerProperties).block(); client.close(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/AzureKeyCredentialTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/AzureKeyCredentialTest.java index 965160e5dd92..629fdca9a185 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/AzureKeyCredentialTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/AzureKeyCredentialTest.java @@ -4,7 +4,7 @@ import com.azure.cosmos.implementation.FailureValidator; import com.azure.cosmos.implementation.RetryAnalyzer; import com.azure.cosmos.models.CosmosContainerResponse; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncItemResponse; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; @@ -280,10 +280,10 @@ public void createDatabaseWithSecondaryKey() throws Exception { CosmosDatabaseProperties databaseDefinition = new CosmosDatabaseProperties(CosmosDatabaseForTest.generateId()); databases.add(databaseDefinition.getId()); // create the getDatabase - Mono createObservable = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()); + Mono createObservable = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()); // validate - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(databaseDefinition.getId()).build(); validateSuccess(createObservable, validator); // sanity check @@ -298,10 +298,10 @@ public void readDatabaseWithSecondaryKey() throws Exception { credential.update(TestConfigurations.SECONDARY_MASTER_KEY); // read database - Mono readObservable = client.getDatabase(databaseId).read(); + Mono readObservable = client.getDatabase(databaseId).read(); // validate - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(databaseId).build(); validateSuccess(readObservable, validator); // sanity check @@ -319,12 +319,13 @@ public void deleteDatabaseWithSecondaryKey() throws Exception { CosmosDatabaseProperties databaseDefinition = new CosmosDatabaseProperties(CosmosDatabaseForTest.generateId()); databases.add(databaseDefinition.getId()); - CosmosAsyncDatabase database = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block().getDatabase(); + client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseDefinition.getId()); // delete the getDatabase - Mono deleteObservable = database.delete(); + Mono deleteObservable = database.delete(); // validate - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .nullResource().build(); validateSuccess(deleteObservable, validator); // sanity check @@ -342,7 +343,8 @@ public void invalidSecondaryKey() throws Exception { // create the database, and this should throw Illegal Argument Exception for secondary key CosmosDatabaseProperties databaseDefinition = new CosmosDatabaseProperties(CosmosDatabaseForTest.generateId()); - client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block().getDatabase(); + client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block(); + client.getDatabase(databaseDefinition.getId()); } @BeforeMethod(groups = { "simple" }, timeOut = TIMEOUT) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseForTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseForTest.java index c485564c9da3..bfe136bac4c3 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseForTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDatabaseForTest.java @@ -3,9 +3,8 @@ package com.azure.cosmos; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosDatabaseProperties; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.SqlParameter; import com.azure.cosmos.models.SqlQuerySpec; import com.azure.cosmos.util.CosmosPagedFlux; @@ -79,7 +78,8 @@ private static CosmosDatabaseForTest from(CosmosAsyncDatabase db) { public static CosmosDatabaseForTest create(DatabaseManager client) { CosmosDatabaseProperties dbDef = new CosmosDatabaseProperties(generateId()); - CosmosAsyncDatabase db = client.createDatabase(dbDef).block().getDatabase(); + client.createDatabase(dbDef).block(); + CosmosAsyncDatabase db = client.getDatabase(dbDef.getId()); CosmosDatabaseForTest dbForTest = CosmosDatabaseForTest.from(db); assertThat(dbForTest).isNotNull(); return dbForTest; @@ -110,7 +110,7 @@ private void deleteDatabase(String id) { public interface DatabaseManager { CosmosPagedFlux queryDatabases(SqlQuerySpec query); - Mono createDatabase(CosmosDatabaseProperties databaseDefinition); + Mono createDatabase(CosmosDatabaseProperties databaseDefinition); CosmosAsyncDatabase getDatabase(String id); } } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java index 61ce3255856c..b4ad6b101d54 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java @@ -5,7 +5,7 @@ import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.models.CompositePath; import com.azure.cosmos.models.CosmosContainerResponse; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncPermissionResponse; import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosAsyncTriggerResponse; @@ -70,8 +70,8 @@ public void validate(T resourceResponse) { } private Resource getResource(T resourceResponse) { - if (resourceResponse instanceof CosmosAsyncDatabaseResponse) { - return ModelBridgeInternal.getResource(((CosmosAsyncDatabaseResponse)resourceResponse).getProperties()); + if (resourceResponse instanceof CosmosDatabaseResponse) { + return ModelBridgeInternal.getResource(((CosmosDatabaseResponse)resourceResponse).getProperties()); } else if (resourceResponse instanceof CosmosContainerResponse) { return ModelBridgeInternal.getResource(((CosmosContainerResponse)resourceResponse).getProperties()); } else if (resourceResponse instanceof CosmosStoredProcedureResponse) { diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java index 5333c1de895f..10453dccb99c 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java @@ -375,9 +375,9 @@ public void sessionTokenConsistencyCollectionDeleteCreateSameName() { @Test(groups = {"emulator"}, timeOut = TIMEOUT) public void replaceProvisionedThroughput(){ final String databaseName = CosmosDatabaseForTest.generateId(); - CosmosAsyncDatabase database = client.createDatabase(databaseName) - .block() - .getDatabase(); + client.createDatabase(databaseName).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseName); + CosmosContainerProperties containerProperties = new CosmosContainerProperties("testCol", "/myPk"); database.createContainer( containerProperties, diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseCrudTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseCrudTest.java index 50e417fbe10f..f5c1f0c98da0 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseCrudTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/DatabaseCrudTest.java @@ -9,10 +9,9 @@ import com.azure.cosmos.CosmosResponseValidator; import com.azure.cosmos.implementation.FailureValidator; import com.azure.cosmos.implementation.HttpConstants; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosDatabaseProperties; import com.azure.cosmos.models.CosmosDatabaseRequestOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Factory; @@ -39,10 +38,10 @@ public void createDatabase() throws Exception { databases.add(databaseDefinition.getId()); // create the database - Mono createObservable = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()); + Mono createObservable = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()); // validate - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(databaseDefinition.getId()).build(); validateSuccess(createObservable, validator); } @@ -55,7 +54,7 @@ public void createDatabase_AlreadyExists() throws Exception { client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block(); // attempt to create the database - Mono createObservable = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()); + Mono createObservable = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()); // validate FailureValidator validator = new FailureValidator.Builder() @@ -68,10 +67,10 @@ public void createDatabase_AlreadyExists() throws Exception { @Test(groups = { "emulator" }, timeOut = TIMEOUT) public void readDatabase() throws Exception { // read database - Mono readObservable = client.getDatabase(preExistingDatabaseId).read(); + Mono readObservable = client.getDatabase(preExistingDatabaseId).read(); // validate - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(preExistingDatabaseId).build(); validateSuccess(readObservable, validator); } @@ -79,7 +78,7 @@ public void readDatabase() throws Exception { @Test(groups = { "emulator" }, timeOut = TIMEOUT) public void readDatabase_DoesntExist() throws Exception { // read database - Mono readObservable = client.getDatabase("I don't exist").read(); + Mono readObservable = client.getDatabase("I don't exist").read(); // validate FailureValidator validator = new FailureValidator.Builder() @@ -95,13 +94,15 @@ public void deleteDatabase() throws Exception { // create the database CosmosDatabaseProperties databaseDefinition = new CosmosDatabaseProperties(CosmosDatabaseForTest.generateId()); databases.add(databaseDefinition.getId()); - CosmosAsyncDatabase database = client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block().getDatabase(); + + client.createDatabase(databaseDefinition, new CosmosDatabaseRequestOptions()).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseDefinition.getId()); // delete the database - Mono deleteObservable = database.delete(); + Mono deleteObservable = database.delete(); // validate - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .nullResource().build(); validateSuccess(deleteObservable, validator); } @@ -109,7 +110,7 @@ public void deleteDatabase() throws Exception { @Test(groups = { "emulator" }, timeOut = TIMEOUT) public void deleteDatabase_DoesntExist() throws Exception { // delete the database - Mono deleteObservable = client.getDatabase("I don't exist").delete(); + Mono deleteObservable = client.getDatabase("I don't exist").delete(); // validate FailureValidator validator = new FailureValidator.Builder() diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java index 72c01a76e58c..f0cb78189791 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/TestSuiteBase.java @@ -35,7 +35,7 @@ import com.azure.cosmos.implementation.guava25.collect.ImmutableList; import com.azure.cosmos.models.CompositePath; import com.azure.cosmos.models.CompositePathSortOrder; -import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; +import com.azure.cosmos.models.CosmosDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncItemResponse; import com.azure.cosmos.models.CosmosContainerProperties; import com.azure.cosmos.models.CosmosContainerRequestOptions; @@ -187,7 +187,7 @@ public CosmosPagedFlux queryDatabases(SqlQuerySpec que } @Override - public Mono createDatabase(CosmosDatabaseProperties databaseDefinition) { + public Mono createDatabase(CosmosDatabaseProperties databaseDefinition) { return client.createDatabase(databaseDefinition); } @@ -559,7 +559,8 @@ static protected CosmosContainerProperties getCollectionDefinitionWithRangeRange } public static void deleteCollectionIfExists(CosmosAsyncClient client, String databaseId, String collectionId) { - CosmosAsyncDatabase database = client.getDatabase(databaseId).read().block().getDatabase(); + CosmosAsyncDatabase database = client.getDatabase(databaseId); + database.read().block(); List res = database.queryContainers(String.format("SELECT * FROM root r where r.id = '%s'", collectionId), null) .collectList() .block(); @@ -611,7 +612,8 @@ public static void deleteDocument(CosmosAsyncContainer cosmosContainer, String d } public static void deleteUserIfExists(CosmosAsyncClient client, String databaseId, String userId) { - CosmosAsyncDatabase database = client.getDatabase(databaseId).read().block().getDatabase(); + CosmosAsyncDatabase database = client.getDatabase(databaseId); + client.getDatabase(databaseId).read().block(); List res = database .queryUsers(String.format("SELECT * FROM root r where r.id = '%s'", userId), null) .collectList().block(); @@ -626,18 +628,21 @@ public static void deleteUser(CosmosAsyncDatabase database, String userId) { static private CosmosAsyncDatabase safeCreateDatabase(CosmosAsyncClient client, CosmosDatabaseProperties databaseSettings) { safeDeleteDatabase(client.getDatabase(databaseSettings.getId())); - return client.createDatabase(databaseSettings).block().getDatabase(); + client.createDatabase(databaseSettings).block(); + return client.getDatabase(databaseSettings.getId()); } static protected CosmosAsyncDatabase createDatabase(CosmosAsyncClient client, String databaseId) { CosmosDatabaseProperties databaseSettings = new CosmosDatabaseProperties(databaseId); - return client.createDatabase(databaseSettings).block().getDatabase(); + client.createDatabase(databaseSettings).block(); + return client.getDatabase(databaseSettings.getId()); } static protected CosmosDatabase createSyncDatabase(CosmosClient client, String databaseId) { CosmosDatabaseProperties databaseSettings = new CosmosDatabaseProperties(databaseId); try { - return client.createDatabase(databaseSettings).getDatabase(); + client.createDatabase(databaseSettings); + return client.getDatabase(databaseSettings.getId()); } catch (CosmosException e) { e.printStackTrace(); } @@ -649,10 +654,13 @@ static protected CosmosAsyncDatabase createDatabaseIfNotExists(CosmosAsyncClient .collectList() .block(); if (res.size() != 0) { - return client.getDatabase(databaseId).read().block().getDatabase(); + CosmosAsyncDatabase database = client.getDatabase(databaseId); + database.read().block(); + return database; } else { CosmosDatabaseProperties databaseSettings = new CosmosDatabaseProperties(databaseId); - return client.createDatabase(databaseSettings).block().getDatabase(); + client.createDatabase(databaseSettings).block(); + return client.getDatabase(databaseSettings.getId()); } } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ThroughputTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ThroughputTests.java index 8e75e7723ed0..36d403b7dc39 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ThroughputTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/ThroughputTests.java @@ -39,9 +39,8 @@ public void readReplaceAutoscaleThroughputDb() throws Exception { final String databaseName = CosmosDatabaseForTest.generateId(); int initalThroughput = 5000; ThroughputProperties properties = ThroughputProperties.createAutoscaledThroughput(initalThroughput); - CosmosAsyncDatabase database = client.createDatabase(databaseName, properties) - .block() - .getDatabase(); + client.createDatabase(databaseName, properties).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseName); ThroughputResponse readThroughputResponse = database.readThroughput().block(); assertThat(readThroughputResponse.getProperties().getAutoscaleMaxThroughput()).isEqualTo(initalThroughput); @@ -61,9 +60,8 @@ public void readReplaceManualThroughputDb() throws Exception { final String databaseName = CosmosDatabaseForTest.generateId(); int initalThroughput = 5000; ThroughputProperties properties = ThroughputProperties.createManualThroughput(initalThroughput); - CosmosAsyncDatabase database = client.createDatabase(databaseName, properties) - .block() - .getDatabase(); + client.createDatabase(databaseName, properties).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseName); ThroughputResponse readThroughputResponse = database.readThroughput().block(); assertThat(readThroughputResponse.getProperties().getManualThroughput()).isEqualTo(initalThroughput); @@ -82,9 +80,8 @@ public void readReplaceManualThroughputCollection() throws Exception { int initalThroughput = 5000; ThroughputProperties throughputProperties = ThroughputProperties.createManualThroughput(initalThroughput); - CosmosAsyncDatabase database = client.createDatabase(databaseName) - .block() - .getDatabase(); + client.createDatabase(databaseName).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseName); CosmosContainerProperties containerProperties = new CosmosContainerProperties("testCol", "/myPk"); database.createContainer( @@ -112,9 +109,8 @@ public void readReplaceAutoscaleThroughputCollection() throws Exception { int initalThroughput = 5000; ThroughputProperties throughputProperties = ThroughputProperties.createAutoscaledThroughput(initalThroughput); - CosmosAsyncDatabase database = client.createDatabase(databaseName) - .block() - .getDatabase(); + client.createDatabase(databaseName).block(); + CosmosAsyncDatabase database = client.getDatabase(databaseName); String collectionId = UUID.randomUUID().toString(); CosmosContainerProperties containerProperties = new CosmosContainerProperties(collectionId, "/myPk");