diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java index 87080578fd21..8da915d6a60e 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java @@ -467,11 +467,6 @@ public static CosmosAsyncPermission createCosmosAsyncPermission(String id, Cosmo return new CosmosAsyncPermission(id, user); } - @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosAsyncStoredProcedure createCosmosAsyncStoredProcedure(String id, CosmosAsyncContainer cosmosContainer) { - return new CosmosAsyncStoredProcedure(id, cosmosContainer); - } - @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncTrigger createCosmosAsyncTrigger(String id, CosmosAsyncContainer container) { return new CosmosAsyncTrigger(id, container); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java index ff0e4402b036..3d6add063a59 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncScripts.java @@ -5,7 +5,7 @@ import com.azure.cosmos.implementation.StoredProcedure; import com.azure.cosmos.implementation.Trigger; import com.azure.cosmos.implementation.UserDefinedFunction; -import com.azure.cosmos.models.CosmosAsyncStoredProcedureResponse; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosAsyncTriggerResponse; import com.azure.cosmos.models.CosmosAsyncUserDefinedFunctionResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; @@ -46,7 +46,7 @@ public class CosmosAsyncScripts { * @param properties the cosmos stored procedure properties. * @return an {@link Mono} containing the single cosmos stored procedure resource response or an error. */ - public Mono createStoredProcedure(CosmosStoredProcedureProperties properties) { + public Mono createStoredProcedure(CosmosStoredProcedureProperties properties) { return this.createStoredProcedure(properties, new CosmosStoredProcedureRequestOptions()); } @@ -62,7 +62,7 @@ public Mono createStoredProcedure(CosmosStor * @param options the stored procedure request options. * @return an {@link Mono} containing the single cosmos stored procedure resource response or an error. */ - public Mono createStoredProcedure( + public Mono createStoredProcedure( CosmosStoredProcedureProperties properties, CosmosStoredProcedureRequestOptions options) { if (options == null) { @@ -73,7 +73,7 @@ public Mono createStoredProcedure( sProc.setBody(properties.getBody()); return database.getDocClientWrapper() .createStoredProcedure(container.getLink(), sProc, ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncStoredProcedureResponse(response, this.container)) + .map(response -> ModelBridgeInternal.createCosmosStoredProcedureResponse(response)) .single(); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java index 72e894dd98a6..d61c50b55ca7 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java @@ -4,7 +4,7 @@ import com.azure.cosmos.implementation.Paths; import com.azure.cosmos.implementation.StoredProcedure; -import com.azure.cosmos.models.CosmosAsyncStoredProcedureResponse; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; @@ -56,7 +56,7 @@ CosmosAsyncStoredProcedure setId(String id) { * * @return an {@link Mono} containing the single resource response with the read stored procedure or an error. */ - public Mono read() { + public Mono read() { return read(null); } @@ -71,13 +71,13 @@ public Mono read() { * @param options the request options. * @return an {@link Mono} containing the single resource response with the read stored procedure or an error. */ - public Mono read(CosmosStoredProcedureRequestOptions options) { + public Mono read(CosmosStoredProcedureRequestOptions options) { if (options == null) { options = new CosmosStoredProcedureRequestOptions(); } return cosmosContainer.getDatabase().getDocClientWrapper().readStoredProcedure(getLink(), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncStoredProcedureResponse(response, cosmosContainer)).single(); + .map(response -> ModelBridgeInternal.createCosmosStoredProcedureResponse(response)).single(); } /** @@ -90,7 +90,7 @@ public Mono read(CosmosStoredProcedureReques * * @return an {@link Mono} containing the single resource response for the deleted stored procedure or an error. */ - public Mono delete() { + public Mono delete() { return delete(null); } @@ -105,14 +105,14 @@ public Mono delete() { * @param options the request options. * @return an {@link Mono} containing the single resource response for the deleted stored procedure or an error. */ - public Mono delete(CosmosStoredProcedureRequestOptions options) { + public Mono delete(CosmosStoredProcedureRequestOptions options) { if (options == null) { options = new CosmosStoredProcedureRequestOptions(); } return cosmosContainer.getDatabase() .getDocClientWrapper() .deleteStoredProcedure(getLink(), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncStoredProcedureResponse(response, cosmosContainer)) + .map(response -> ModelBridgeInternal.createCosmosStoredProcedureResponse(response)) .single(); } @@ -128,15 +128,15 @@ public Mono delete(CosmosStoredProcedureRequ * @param options the request options. * @return an {@link Mono} containing the single resource response with the stored procedure response or an error. */ - public Mono execute(List procedureParams, - CosmosStoredProcedureRequestOptions options) { + public Mono execute(List procedureParams, + CosmosStoredProcedureRequestOptions options) { if (options == null) { options = new CosmosStoredProcedureRequestOptions(); } return cosmosContainer.getDatabase() .getDocClientWrapper() .executeStoredProcedure(getLink(), ModelBridgeInternal.toRequestOptions(options), procedureParams) - .map(response -> ModelBridgeInternal.createCosmosAsyncStoredProcedureResponse(response, cosmosContainer, this.id)) + .map(response -> ModelBridgeInternal.createCosmosStoredProcedureResponse(response)) .single(); } @@ -151,7 +151,7 @@ public Mono execute(List procedurePa * @param storedProcedureSettings the stored procedure properties * @return an {@link Mono} containing the single resource response with the replaced stored procedure or an error. */ - public Mono replace(CosmosStoredProcedureProperties storedProcedureSettings) { + public Mono replace(CosmosStoredProcedureProperties storedProcedureSettings) { return replace(storedProcedureSettings, null); } @@ -167,8 +167,8 @@ public Mono replace(CosmosStoredProcedurePro * @param options the request options. * @return an {@link Mono} containing the single resource response with the replaced stored procedure or an error. */ - public Mono replace(CosmosStoredProcedureProperties storedProcedureSettings, - CosmosStoredProcedureRequestOptions options) { + public Mono replace(CosmosStoredProcedureProperties storedProcedureSettings, + CosmosStoredProcedureRequestOptions options) { if (options == null) { options = new CosmosStoredProcedureRequestOptions(); } @@ -177,7 +177,7 @@ public Mono replace(CosmosStoredProcedurePro .replaceStoredProcedure(new StoredProcedure(ModelBridgeInternal.toJsonFromJsonSerializable( ModelBridgeInternal.getResource(storedProcedureSettings))), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncStoredProcedureResponse(response, cosmosContainer)) + .map(response -> ModelBridgeInternal.createCosmosStoredProcedureResponse(response)) .single(); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java index 9e15394a131c..8d46bbc8ca36 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosScripts.java @@ -3,12 +3,11 @@ package com.azure.cosmos; -import com.azure.cosmos.models.CosmosAsyncStoredProcedureResponse; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosAsyncTriggerResponse; import com.azure.cosmos.models.CosmosAsyncUserDefinedFunctionResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; -import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosTriggerProperties; import com.azure.cosmos.models.CosmosTriggerResponse; import com.azure.cosmos.models.CosmosUserDefinedFunctionProperties; @@ -243,11 +242,9 @@ public CosmosTrigger getTrigger(String id) { * @return the cosmos sync stored procedure response */ CosmosStoredProcedureResponse mapStoredProcedureResponseAndBlock( - Mono storedProcedureResponseMono) { + Mono storedProcedureResponseMono) { try { - return storedProcedureResponseMono - .map(this::convertResponse) - .block(); + return storedProcedureResponseMono.block(); } catch (Exception ex) { final Throwable throwable = Exceptions.unwrap(ex); if (throwable instanceof CosmosException) { @@ -258,20 +255,6 @@ CosmosStoredProcedureResponse mapStoredProcedureResponseAndBlock( } } - /** - * Convert response cosmos sync stored procedure response. - * - * @param response the response - * @return the cosmos sync stored procedure response - */ - CosmosStoredProcedureResponse convertResponse(CosmosAsyncStoredProcedureResponse response) { - if (response.getStoredProcedure() != null) { - return ModelBridgeInternal.createCosmosStoredProcedureResponse(response, getStoredProcedure(response.getStoredProcedure().getId())); - } else { - return ModelBridgeInternal.createCosmosStoredProcedureResponse(response, null); - } - } - /** * Map udf response and block cosmos sync user defined function response. * diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosStoredProcedure.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosStoredProcedure.java index 7869978cca10..7dda62fe049d 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosStoredProcedure.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosStoredProcedure.java @@ -3,9 +3,9 @@ package com.azure.cosmos; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; -import com.azure.cosmos.models.CosmosStoredProcedureResponse; import java.util.List; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncStoredProcedureResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncStoredProcedureResponse.java deleted file mode 100644 index 9525e85674cb..000000000000 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncStoredProcedureResponse.java +++ /dev/null @@ -1,130 +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.CosmosAsyncContainer; -import com.azure.cosmos.CosmosAsyncStoredProcedure; -import com.azure.cosmos.implementation.ResourceResponse; -import com.azure.cosmos.implementation.StoredProcedure; -import com.azure.cosmos.implementation.StoredProcedureResponse; -import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; - -/** - * The type Cosmos async stored procedure response. - */ -public class CosmosAsyncStoredProcedureResponse extends CosmosResponse { - - private final CosmosAsyncStoredProcedure storedProcedure; - private final StoredProcedureResponse storedProcedureResponse; - - CosmosAsyncStoredProcedureResponse(ResourceResponse response, - CosmosAsyncContainer cosmosContainer) { - super(response); - String bodyAsString = response.getBodyAsString(); - if (StringUtils.isEmpty(bodyAsString)) { - storedProcedure = null; - - } else { - super.setProperties(new CosmosStoredProcedureProperties(bodyAsString)); - storedProcedure = BridgeInternal.createCosmosAsyncStoredProcedure(this.getProperties().getId(), cosmosContainer); - } - storedProcedureResponse = null; - } - - CosmosAsyncStoredProcedureResponse( - StoredProcedureResponse response, CosmosAsyncContainer cosmosContainer, String storedProcedureId) { - super(response); - this.storedProcedureResponse = response; - this.storedProcedure = BridgeInternal.createCosmosAsyncStoredProcedure(storedProcedureId, cosmosContainer); - - } - - /** - * Gets the stored procedure properties - * - * @return the stored procedure properties or null - */ - public CosmosStoredProcedureProperties getProperties() { - return super.getProperties(); - } - - /** - * Gets the stored procedure object - * - * @return the stored procedure object or null in case of delete request - */ - public CosmosAsyncStoredProcedure getStoredProcedure() { - return this.storedProcedure; - } - - /** - * Gets the Activity ID for the request. - * - * @return the activity id. - */ - @Override - public String getActivityId() { - if (storedProcedureResponse != null) { - return this.storedProcedureResponse.getActivityId(); - } - return super.getActivityId(); - } - - /** - * Gets the token used for managing client's consistency requirements. - * - * @return the session token. - */ - @Override - public String getSessionToken() { - if (storedProcedureResponse != null) { - return this.storedProcedureResponse.getSessionToken(); - } - return super.getSessionToken(); - } - - /** - * Gets the HTTP status code associated with the response. - * - * @return the status code. - */ - @Override - public int getStatusCode() { - if (storedProcedureResponse != null) { - return this.storedProcedureResponse.getStatusCode(); - } - return super.getStatusCode(); - } - - /** - * Gets the number of normalized requests charged. - * - * @return the request charge. - */ - @Override - public double getRequestCharge() { - if (storedProcedureResponse != null) { - return storedProcedureResponse.getRequestCharge(); - } - return super.getRequestCharge(); - } - - /** - * Gets the response of the stored procedure as a string. - * - * @return the response as a string. - */ - public String getResponseAsString() { - return this.storedProcedureResponse.getResponseAsString(); - } - - /** - * Gets the output from stored procedure console.log() statements. - * - * @return the output string from the stored procedure console.log() statements. - */ - public String getScriptLog() { - return this.storedProcedureResponse.getScriptLog(); - } -} diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java index f82a8a4c0de4..605b3f665e6a 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java @@ -31,7 +31,7 @@ public class CosmosResponse { this.properties = properties; } - // Only used in CosmosAsyncStoredProcedureResponse compatibility with StoredProcedureResponse + // Only used in CosmosStoredProcedureResponse compatibility with StoredProcedureResponse CosmosResponse(StoredProcedureResponse response) { this.resourceResponseWrapper = null; } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureResponse.java index 749e1095716a..d7aa3b91a6ec 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureResponse.java @@ -1,86 +1,110 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - package com.azure.cosmos.models; - -import com.azure.cosmos.CosmosStoredProcedure; +import com.azure.cosmos.implementation.ResourceResponse; +import com.azure.cosmos.implementation.StoredProcedure; +import com.azure.cosmos.implementation.StoredProcedureResponse; +import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; /** - * The type Cosmos sync stored procedure response. + * The type Cosmos stored procedure response. */ public class CosmosStoredProcedureResponse extends CosmosResponse { - private final CosmosStoredProcedure cosmosStoredProcedure; - private final CosmosAsyncStoredProcedureResponse asyncResponse; - /** - * Instantiates a new Cosmos sync stored procedure response. - * - * @param resourceResponse the resource response - * @param storedProcedure the stored procedure - */ - CosmosStoredProcedureResponse(CosmosAsyncStoredProcedureResponse resourceResponse, - CosmosStoredProcedure storedProcedure) { - super(resourceResponse.getProperties()); - this.asyncResponse = resourceResponse; - this.cosmosStoredProcedure = storedProcedure; + private final StoredProcedureResponse storedProcedureResponse; + + CosmosStoredProcedureResponse(ResourceResponse response) { + super(response); + String bodyAsString = response.getBodyAsString(); + if (!StringUtils.isEmpty(bodyAsString)) { + super.setProperties(new CosmosStoredProcedureProperties(bodyAsString)); + } + storedProcedureResponse = null; + } + + CosmosStoredProcedureResponse(StoredProcedureResponse response) { + super(response); + this.storedProcedureResponse = response; + } /** - * Gets cosmos stored procedure properties. + * Gets the stored procedure properties * - * @return the cosmos stored procedure properties + * @return the stored procedure properties or null */ public CosmosStoredProcedureProperties getProperties() { - return asyncResponse.getProperties(); + return super.getProperties(); } /** - * Gets cosmos sync stored procedure. + * Gets the Activity ID for the request. * - * @return the cosmos sync stored procedure + * @return the activity id. */ - public CosmosStoredProcedure getStoredProcedure() { - return cosmosStoredProcedure; - } - @Override public String getActivityId() { - return asyncResponse.getActivityId(); + if (storedProcedureResponse != null) { + return this.storedProcedureResponse.getActivityId(); + } + return super.getActivityId(); } + /** + * Gets the token used for managing client's consistency requirements. + * + * @return the session token. + */ @Override public String getSessionToken() { - return asyncResponse.getSessionToken(); + if (storedProcedureResponse != null) { + return this.storedProcedureResponse.getSessionToken(); + } + return super.getSessionToken(); } + /** + * Gets the HTTP status code associated with the response. + * + * @return the status code. + */ @Override public int getStatusCode() { - return asyncResponse.getStatusCode(); + if (storedProcedureResponse != null) { + return this.storedProcedureResponse.getStatusCode(); + } + return super.getStatusCode(); } + /** + * Gets the number of normalized requests charged. + * + * @return the request charge. + */ @Override public double getRequestCharge() { - return asyncResponse.getRequestCharge(); + if (storedProcedureResponse != null) { + return storedProcedureResponse.getRequestCharge(); + } + return super.getRequestCharge(); } /** - * Response as string string. + * Gets the response of the stored procedure as a string. * - * @return the string + * @return the response as a string. */ public String getResponseAsString() { - return asyncResponse.getResponseAsString(); + return this.storedProcedureResponse.getResponseAsString(); } /** - * Script log string. + * Gets the output from stored procedure console.log() statements. * - * @return the string + * @return the output string from the stored procedure console.log() statements. */ public String getScriptLog() { - return asyncResponse.getScriptLog(); + return this.storedProcedureResponse.getScriptLog(); } - - } 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 fd27d89401a8..dfec00ada671 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 @@ -9,7 +9,6 @@ import com.azure.cosmos.CosmosAsyncUser; import com.azure.cosmos.CosmosClient; import com.azure.cosmos.CosmosDatabase; -import com.azure.cosmos.CosmosStoredProcedure; import com.azure.cosmos.CosmosTrigger; import com.azure.cosmos.CosmosUserDefinedFunction; import com.azure.cosmos.implementation.Conflict; @@ -104,16 +103,13 @@ public static CosmosAsyncPermissionResponse createCosmosAsyncPermissionResponse( } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosAsyncStoredProcedureResponse createCosmosAsyncStoredProcedureResponse(ResourceResponse response, - CosmosAsyncContainer cosmosContainer) { - return new CosmosAsyncStoredProcedureResponse(response, cosmosContainer); + public static CosmosStoredProcedureResponse createCosmosStoredProcedureResponse(ResourceResponse response) { + return new CosmosStoredProcedureResponse(response); } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosAsyncStoredProcedureResponse createCosmosAsyncStoredProcedureResponse(StoredProcedureResponse response, - CosmosAsyncContainer cosmosContainer, - String storedProcedureId) { - return new CosmosAsyncStoredProcedureResponse(response, cosmosContainer, storedProcedureId); + public static CosmosStoredProcedureResponse createCosmosStoredProcedureResponse(StoredProcedureResponse response) { + return new CosmosStoredProcedureResponse(response); } @Warning(value = INTERNAL_USE_ONLY_WARNING) @@ -164,12 +160,6 @@ public static CosmosDatabaseResponse createCosmosDatabaseResponse(CosmosAsyncDat return new CosmosDatabaseResponse(response, client); } - @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosStoredProcedureResponse createCosmosStoredProcedureResponse(CosmosAsyncStoredProcedureResponse resourceResponse, - CosmosStoredProcedure storedProcedure) { - return new CosmosStoredProcedureResponse(resourceResponse, storedProcedure); - } - @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosUserDefinedFunctionResponse createCosmosUserDefinedFunctionResponse(CosmosAsyncUserDefinedFunctionResponse resourceResponse, CosmosUserDefinedFunction userDefinedFunction) { 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 10bdb32c3ebd..cb9f1a9dab0d 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 @@ -7,7 +7,7 @@ import com.azure.cosmos.models.CosmosAsyncContainerResponse; import com.azure.cosmos.models.CosmosAsyncDatabaseResponse; import com.azure.cosmos.models.CosmosAsyncPermissionResponse; -import com.azure.cosmos.models.CosmosAsyncStoredProcedureResponse; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosAsyncTriggerResponse; import com.azure.cosmos.models.CosmosAsyncUserDefinedFunctionResponse; import com.azure.cosmos.models.CosmosAsyncUserResponse; @@ -74,8 +74,8 @@ private Resource getResource(T resourceResponse) { return ModelBridgeInternal.getResource(((CosmosAsyncDatabaseResponse)resourceResponse).getProperties()); } else if (resourceResponse instanceof CosmosAsyncContainerResponse) { return ModelBridgeInternal.getResource(((CosmosAsyncContainerResponse)resourceResponse).getProperties()); - } else if (resourceResponse instanceof CosmosAsyncStoredProcedureResponse) { - return ModelBridgeInternal.getResource(((CosmosAsyncStoredProcedureResponse)resourceResponse).getProperties()); + } else if (resourceResponse instanceof CosmosStoredProcedureResponse) { + return ModelBridgeInternal.getResource(((CosmosStoredProcedureResponse)resourceResponse).getProperties()); } else if (resourceResponse instanceof CosmosAsyncTriggerResponse) { return ModelBridgeInternal.getResource(((CosmosAsyncTriggerResponse)resourceResponse).getProperties()); } else if (resourceResponse instanceof CosmosAsyncUserDefinedFunctionResponse) { @@ -218,10 +218,10 @@ public void validate(CosmosAsyncContainerResponse resourceResponse) { } public Builder withStoredProcedureBody(String storedProcedureBody) { - validators.add(new CosmosResponseValidator() { + validators.add(new CosmosResponseValidator() { @Override - public void validate(CosmosAsyncStoredProcedureResponse resourceResponse) { + public void validate(CosmosStoredProcedureResponse resourceResponse) { assertThat(resourceResponse.getProperties().getBody()).isEqualTo(storedProcedureBody); } }); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java index 25f3d4bb243e..9341c50ef8ed 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosSyncStoredProcTest.java @@ -4,9 +4,9 @@ package com.azure.cosmos; import com.azure.cosmos.implementation.HttpConstants; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; -import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.models.PartitionKey; import com.azure.cosmos.models.SqlQuerySpec; @@ -60,7 +60,7 @@ public void createStoredProcedure() throws Exception { storedProcedureDef.setId(UUID.randomUUID().toString()); storedProcedureDef.setBody("function() {var x = 11;}"); CosmosStoredProcedureResponse response1 = container.getScripts() - .createStoredProcedure(storedProcedureDef, + .createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()); validateResponse(storedProcedureDef, response1); @@ -106,21 +106,21 @@ public void replaceStoredProcedure() throws Exception { validateResponse(storedProcedureDef, response); CosmosStoredProcedureResponse readResponse = container.getScripts() - .getStoredProcedure(storedProcedureDef.getId()) - .read(); + .getStoredProcedure(storedProcedureDef.getId()) + .read(); validateResponse(storedProcedureDef, readResponse); //replace storedProcedureDef = readResponse.getProperties(); storedProcedureDef.setBody("function(){ var y = 20;}"); CosmosStoredProcedureResponse replaceResponse = container.getScripts() - .getStoredProcedure(storedProcedureDef.getId()) - .replace(storedProcedureDef); + .getStoredProcedure(storedProcedureDef.getId()) + .replace(storedProcedureDef); validateResponse(storedProcedureDef, replaceResponse); storedProcedureDef.setBody("function(){ var z = 2;}"); CosmosStoredProcedureResponse replaceResponse2 = container.getScripts() - .getStoredProcedure(storedProcedureDef.getId()) - .replace(storedProcedureDef, + .getStoredProcedure(storedProcedureDef.getId()) + .replace(storedProcedureDef, new CosmosStoredProcedureRequestOptions()); validateResponse(storedProcedureDef, replaceResponse2); @@ -154,8 +154,8 @@ public void executeStoredProcedure() throws Exception { CosmosStoredProcedureRequestOptions options = new CosmosStoredProcedureRequestOptions(); options.setPartitionKey(PartitionKey.NONE); CosmosStoredProcedureResponse executeResponse = container.getScripts() - .getStoredProcedure(sproc.getId()) - .execute(null, options); + .getStoredProcedure(sproc.getId()) + .execute(null, options); assertThat(executeResponse.getActivityId()).isNotEmpty(); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java index 31901d845820..9e9ca1d14271 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/models/CosmosPartitionKeyTests.java @@ -226,14 +226,16 @@ public void nonPartitionedCollectionOperations() throws Exception { " });" + "}'" + "}"); - CosmosAsyncStoredProcedure createdSproc = createdContainer.getScripts().createStoredProcedure(sproc).block().getStoredProcedure(); + CosmosStoredProcedureResponse createdSproc = createdContainer.getScripts().createStoredProcedure(sproc).block(); + CosmosAsyncStoredProcedure storedProcedure = + createdContainer.getScripts().getStoredProcedure(createdSproc.getProperties().getId()); // Partiton Key value same as what is specified in the stored procedure body RequestOptions options = new RequestOptions(); options.setPartitionKey(PartitionKey.NONE); CosmosStoredProcedureRequestOptions cosmosStoredProcedureRequestOptions = new CosmosStoredProcedureRequestOptions(); cosmosStoredProcedureRequestOptions.setPartitionKey(PartitionKey.NONE); - int result = Integer.parseInt(createdSproc.execute(null, cosmosStoredProcedureRequestOptions).block().getResponseAsString()); + int result = Integer.parseInt(storedProcedure.execute(null, cosmosStoredProcedureRequestOptions).block().getResponseAsString()); assertThat(result).isEqualTo(1); // 3 previous items + 1 created from the sproc diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureCrudTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureCrudTest.java index 1a86c9a60db1..f7c4063f5916 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureCrudTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureCrudTest.java @@ -5,7 +5,8 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosAsyncStoredProcedure; -import com.azure.cosmos.models.CosmosAsyncStoredProcedureResponse; +import com.azure.cosmos.CosmosStoredProcedure; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.CosmosResponseValidator; import com.azure.cosmos.models.CosmosStoredProcedureProperties; @@ -39,9 +40,9 @@ public void createStoredProcedure() throws Exception { storedProcedureDef.setId(UUID.randomUUID().toString()); storedProcedureDef.setBody("function() {var x = 10;}"); - Mono createObservable = container.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()); + Mono createObservable = container.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()); - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(storedProcedureDef.getId()) .withStoredProcedureBody("function() {var x = 10;}") .notNullEtag() @@ -56,12 +57,13 @@ public void readStoredProcedure() throws Exception { CosmosStoredProcedureProperties storedProcedureDef = new CosmosStoredProcedureProperties(); storedProcedureDef.setId(UUID.randomUUID().toString()); storedProcedureDef.setBody("function() {var x = 10;}"); - CosmosAsyncStoredProcedure storedProcedure = container.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block().getStoredProcedure(); + CosmosStoredProcedureResponse storedProcedureResponse = container.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block(); + CosmosAsyncStoredProcedure storedProcedure = container.getScripts().getStoredProcedure(storedProcedureResponse.getProperties().getId()); waitIfNeededForReplicasToCatchUp(getClientBuilder()); - Mono readObservable = storedProcedure.read(null); + Mono readObservable = storedProcedure.read(null); - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(storedProcedureDef.getId()) .withStoredProcedureBody("function() {var x = 10;}") .notNullEtag() @@ -77,10 +79,12 @@ public void deleteStoredProcedure() throws Exception { storedProcedureDef.setId(UUID.randomUUID().toString()); storedProcedureDef.setBody("function() {var x = 10;}"); - CosmosAsyncStoredProcedure storedProcedure = this.container.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block().getStoredProcedure(); - Mono deleteObservable = storedProcedure.delete(new CosmosStoredProcedureRequestOptions()); + CosmosStoredProcedureResponse storedProcedureResponse = this.container.getScripts().createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block(); + CosmosAsyncStoredProcedure storedProcedure = + this.container.getScripts().getStoredProcedure(storedProcedureResponse.getProperties().getId()); + Mono deleteObservable = storedProcedure.delete(new CosmosStoredProcedureRequestOptions()); - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .nullResource() .build(); @@ -88,7 +92,7 @@ public void deleteStoredProcedure() throws Exception { waitIfNeededForReplicasToCatchUp(this.getClientBuilder()); - Mono readObservable = storedProcedure.read(null); + Mono readObservable = storedProcedure.read(null); FailureValidator notFoundValidator = new FailureValidator.Builder().resourceNotFound().build(); validateFailure(readObservable, notFoundValidator); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureUpsertReplaceTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureUpsertReplaceTest.java index b2e99f3120d8..fbe0b7f5bd12 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureUpsertReplaceTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/StoredProcedureUpsertReplaceTest.java @@ -6,12 +6,11 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncContainer; import com.azure.cosmos.CosmosAsyncStoredProcedure; -import com.azure.cosmos.models.CosmosAsyncStoredProcedureResponse; +import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.CosmosResponseValidator; import com.azure.cosmos.models.CosmosStoredProcedureProperties; import com.azure.cosmos.models.CosmosStoredProcedureRequestOptions; -import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; @@ -47,22 +46,22 @@ public void replaceStoredProcedure() throws Exception { // read stored procedure to validate creation waitIfNeededForReplicasToCatchUp(getClientBuilder()); - Mono readObservable = createdCollection.getScripts() - .getStoredProcedure(readBackSp.getId()).read(null); + Mono readObservable = createdCollection.getScripts() + .getStoredProcedure(readBackSp.getId()).read(null); // validate stored procedure creation - CosmosResponseValidator validatorForRead = new CosmosResponseValidator.Builder() + CosmosResponseValidator validatorForRead = new CosmosResponseValidator.Builder() .withId(readBackSp.getId()).withStoredProcedureBody("function() {var x = 10;}").notNullEtag().build(); validateSuccess(readObservable, validatorForRead); // update stored procedure readBackSp.setBody("function() {var x = 11;}"); - Mono replaceObservable = createdCollection.getScripts() - .getStoredProcedure(readBackSp.getId()).replace(readBackSp); + Mono replaceObservable = createdCollection.getScripts() + .getStoredProcedure(readBackSp.getId()).replace(readBackSp); // validate stored procedure replace - CosmosResponseValidator validatorForReplace = new CosmosResponseValidator.Builder() + CosmosResponseValidator validatorForReplace = new CosmosResponseValidator.Builder() .withId(readBackSp.getId()).withStoredProcedureBody("function() {var x = 11;}").notNullEtag().build(); validateSuccess(replaceObservable, validatorForReplace); } @@ -77,9 +76,10 @@ public void executeStoredProcedure() throws Exception { CosmosAsyncStoredProcedure storedProcedure = null; - storedProcedure = createdCollection.getScripts() - .createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block() - .getStoredProcedure(); + CosmosStoredProcedureResponse response = createdCollection.getScripts() + .createStoredProcedure(storedProcedureDef, new CosmosStoredProcedureRequestOptions()).block(); + + storedProcedure = createdCollection.getScripts().getStoredProcedure(response.getProperties().getId()); String result = null;