Skip to content

Commit

Permalink
Changing return types for DeleteIfExists to Boolean (Azure#28945)
Browse files Browse the repository at this point in the history
changing return types from void to boolean
  • Loading branch information
ibrahimrabab authored May 20, 2022
1 parent aaec715 commit 2b9b3de
Show file tree
Hide file tree
Showing 46 changed files with 496 additions and 442 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ Mono<Response<Void>> createWithResponse(Map<String, String> metadata, PublicAcce
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Boolean> createIfNotExists() {
return createIfNotExistsWithResponse(null).map(response -> response.getStatusCode() != 409);
return createIfNotExistsWithResponse(null).flatMap(FluxUtil::toMono);
}

/**
Expand Down Expand Up @@ -482,24 +482,25 @@ public Mono<Boolean> createIfNotExists() {
* successfully created. If status code is 409, a container already existed at this location.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<Void>> createIfNotExistsWithResponse(BlobContainerCreateOptions options) {
public Mono<Response<Boolean>> createIfNotExistsWithResponse(BlobContainerCreateOptions options) {
try {
return createIfNotExistsWithResponse(options, null);
} catch (RuntimeException ex) {
return monoError(LOGGER, ex);
}
}

Mono<Response<Void>> createIfNotExistsWithResponse(BlobContainerCreateOptions options, Context context) {
Mono<Response<Boolean>> createIfNotExistsWithResponse(BlobContainerCreateOptions options, Context context) {
try {
options = options == null ? new BlobContainerCreateOptions() : options;
return createWithResponse(options.getMetadata(), options.getPublicAccessType(), context)
.map(response -> (Response<Boolean>) new SimpleResponse<>(response, true))
.onErrorResume(t -> t instanceof BlobStorageException && ((BlobStorageException) t)
.getStatusCode() == 409,
t -> {
HttpResponse response = ((BlobStorageException) t).getResponse();
return Mono.just(new SimpleResponse<>(response.getRequest(), response.getStatusCode(),
response.getHeaders(), null));
response.getHeaders(), false));
});
} catch (RuntimeException ex) {
return monoError(LOGGER, ex);
Expand Down Expand Up @@ -602,7 +603,7 @@ Mono<Response<Void>> deleteWithResponse(BlobRequestConditions requestConditions,
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Boolean> deleteIfExists() {
return deleteIfExistsWithResponse(null).map(response -> response.getStatusCode() == 202);
return deleteIfExistsWithResponse(null).flatMap(FluxUtil::toMono);
}

/**
Expand Down Expand Up @@ -635,23 +636,24 @@ public Mono<Boolean> deleteIfExists() {
* {@link BlobRequestConditions#getIfNoneMatch()} is set.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<Void>> deleteIfExistsWithResponse(BlobRequestConditions requestConditions) {
public Mono<Response<Boolean>> deleteIfExistsWithResponse(BlobRequestConditions requestConditions) {
try {
return deleteIfExistsWithResponse(requestConditions, null);
} catch (RuntimeException ex) {
return monoError(LOGGER, ex);
}
}

Mono<Response<Void>> deleteIfExistsWithResponse(BlobRequestConditions requestConditions, Context context) {
Mono<Response<Boolean>> deleteIfExistsWithResponse(BlobRequestConditions requestConditions, Context context) {
requestConditions = requestConditions == null ? new BlobRequestConditions() : requestConditions;
try {
return deleteWithResponse(requestConditions, context)
.map(response -> (Response<Boolean>) new SimpleResponse<>(response, true))
.onErrorResume(t -> t instanceof BlobStorageException && ((BlobStorageException) t).getStatusCode() == 404,
t -> {
HttpResponse response = ((BlobStorageException) t).getResponse();
return Mono.just(new SimpleResponse<>(response.getRequest(), response.getStatusCode(),
response.getHeaders(), null));
response.getHeaders(), false));
});
} catch (RuntimeException ex) {
return monoError(LOGGER, ex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ public Response<Void> createWithResponse(Map<String, String> metadata, PublicAcc
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public boolean createIfNotExists() {
return createIfNotExistsWithResponse(null, null, null).getStatusCode() == 201;
return createIfNotExistsWithResponse(null, null, null).getValue();
}

/**
Expand All @@ -353,7 +353,7 @@ public boolean createIfNotExists() {
* BlobContainerCreateOptions options = new BlobContainerCreateOptions&#40;&#41;.setMetadata&#40;metadata&#41;
* .setPublicAccessType&#40;PublicAccessType.CONTAINER&#41;;
*
* Response&lt;Void&gt; response = client.createIfNotExistsWithResponse&#40;options, timeout, context&#41;;
* Response&lt;Boolean&gt; response = client.createIfNotExistsWithResponse&#40;options, timeout, context&#41;;
* if &#40;response.getStatusCode&#40;&#41; == 409&#41; &#123;
* System.out.println&#40;&quot;Already existed.&quot;&#41;;
* &#125; else &#123;
Expand All @@ -369,7 +369,7 @@ public boolean createIfNotExists() {
* container was successfully created. If status code is 409, a container already existed at this location.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Response<Void> createIfNotExistsWithResponse(BlobContainerCreateOptions options, Duration timeout,
public Response<Boolean> createIfNotExistsWithResponse(BlobContainerCreateOptions options, Duration timeout,
Context context) {
return StorageImplUtils.blockWithOptionalTimeout(client.
createIfNotExistsWithResponse(options, context), timeout);
Expand Down Expand Up @@ -449,8 +449,7 @@ public Response<Void> deleteWithResponse(BlobRequestConditions requestConditions
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public boolean deleteIfExists() {
Response<Void> response = deleteIfExistsWithResponse(null, null, Context.NONE);
return response.getStatusCode() == 202;
return deleteIfExistsWithResponse(null, null, Context.NONE).getValue();
}

/**
Expand All @@ -467,7 +466,7 @@ public boolean deleteIfExists() {
* .setIfUnmodifiedSince&#40;OffsetDateTime.now&#40;&#41;.minusDays&#40;3&#41;&#41;;
* Context context = new Context&#40;&quot;Key&quot;, &quot;Value&quot;&#41;;
*
* Response&lt;Void&gt; response = client.deleteIfExistsWithResponse&#40;requestConditions, timeout, context&#41;;
* Response&lt;Boolean&gt; response = client.deleteIfExistsWithResponse&#40;requestConditions, timeout, context&#41;;
* if &#40;response.getStatusCode&#40;&#41; == 404&#41; &#123;
* System.out.println&#40;&quot;Does not exist.&quot;&#41;;
* &#125; else &#123;
Expand All @@ -483,7 +482,7 @@ public boolean deleteIfExists() {
* was successfully deleted. If status code is 404, the container does not exist.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Response<Void> deleteIfExistsWithResponse(BlobRequestConditions requestConditions, Duration timeout,
public Response<Boolean> deleteIfExistsWithResponse(BlobRequestConditions requestConditions, Duration timeout,
Context context) {
return blockWithOptionalTimeout(client.deleteIfExistsWithResponse(requestConditions, context), timeout);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ Mono<Response<Void>> deleteBlobContainerWithResponse(String containerName, Conte
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Boolean> deleteBlobContainerIfExists(String containerName) {
return deleteBlobContainerIfExistsWithResponse(containerName).map(response -> response.getStatusCode() != 404);
return deleteBlobContainerIfExistsWithResponse(containerName).flatMap(FluxUtil::toMono);
}

/**
Expand Down Expand Up @@ -431,22 +431,23 @@ public Mono<Boolean> deleteBlobContainerIfExists(String containerName) {
*
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<Void>> deleteBlobContainerIfExistsWithResponse(String containerName) {
public Mono<Response<Boolean>> deleteBlobContainerIfExistsWithResponse(String containerName) {
try {
return withContext(context -> deleteBlobContainerIfExistsWithResponse(containerName, context));
} catch (RuntimeException ex) {
return monoError(LOGGER, ex);
}
}

Mono<Response<Void>> deleteBlobContainerIfExistsWithResponse(String containerName, Context context) {
Mono<Response<Boolean>> deleteBlobContainerIfExistsWithResponse(String containerName, Context context) {
try {
return deleteBlobContainerWithResponse(containerName, context)
.map(response -> (Response<Boolean>) new SimpleResponse<>(response, true))
.onErrorResume(t -> t instanceof BlobStorageException && ((BlobStorageException) t).getStatusCode() == 404,
t -> {
HttpResponse response = ((BlobStorageException) t).getResponse();
return Mono.just(new SimpleResponse<>(response.getRequest(), response.getStatusCode(),
response.getHeaders(), null));
response.getHeaders(), false));
});
} catch (RuntimeException ex) {
return monoError(LOGGER, ex);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,7 @@ public Response<Void> deleteBlobContainerWithResponse(String containerName, Cont
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public boolean deleteBlobContainerIfExists(String containerName) {
Response<Void> response = deleteBlobContainerIfExistsWithResponse(containerName, Context.NONE);
return response.getStatusCode() == 202;
return deleteBlobContainerIfExistsWithResponse(containerName, Context.NONE).getValue();
}

/**
Expand All @@ -283,7 +282,7 @@ public boolean deleteBlobContainerIfExists(String containerName) {
* <pre>
* Context context = new Context&#40;&quot;Key&quot;, &quot;Value&quot;&#41;;
*
* Response&lt;Void&gt; response = client.deleteBlobContainerIfExistsWithResponse&#40;&quot;containerName&quot;, context&#41;;
* Response&lt;Boolean&gt; response = client.deleteBlobContainerIfExistsWithResponse&#40;&quot;containerName&quot;, context&#41;;
* if &#40;response.getStatusCode&#40;&#41; == 404&#41; &#123;
* System.out.println&#40;&quot;Does not exist.&quot;&#41;;
* &#125; else &#123;
Expand All @@ -298,7 +297,7 @@ public boolean deleteBlobContainerIfExists(String containerName) {
* container was successfully deleted. If status code is 404, the container does not exist.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Response<Void> deleteBlobContainerIfExistsWithResponse(String containerName, Context context) {
public Response<Boolean> deleteBlobContainerIfExistsWithResponse(String containerName, Context context) {
return blobServiceAsyncClient.deleteBlobContainerIfExistsWithResponse(containerName, context).block();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1717,7 +1717,7 @@ Mono<Response<Void>> deleteWithResponse(DeleteSnapshotsOptionType deleteBlobSnap
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Boolean> deleteIfExists() {
return deleteIfExistsWithResponse(null, null).map(response -> response.getStatusCode() != 404);
return deleteIfExistsWithResponse(null, null).flatMap(FluxUtil::toMono);
}

/**
Expand Down Expand Up @@ -1749,7 +1749,7 @@ public Mono<Boolean> deleteIfExists() {
* successfully deleted. If status code is 404, the base blob does not exist.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono<Response<Void>> deleteIfExistsWithResponse(DeleteSnapshotsOptionType deleteBlobSnapshotOptions,
public Mono<Response<Boolean>> deleteIfExistsWithResponse(DeleteSnapshotsOptionType deleteBlobSnapshotOptions,
BlobRequestConditions requestConditions) {
try {
return withContext(context -> deleteIfExistsWithResponse(deleteBlobSnapshotOptions,
Expand All @@ -1759,17 +1759,18 @@ public Mono<Response<Void>> deleteIfExistsWithResponse(DeleteSnapshotsOptionType
}
}

Mono<Response<Void>> deleteIfExistsWithResponse(DeleteSnapshotsOptionType deleteBlobSnapshotOptions,
Mono<Response<Boolean>> deleteIfExistsWithResponse(DeleteSnapshotsOptionType deleteBlobSnapshotOptions,
BlobRequestConditions requestConditions, Context context) {
requestConditions = requestConditions == null ? new BlobRequestConditions() : requestConditions;

return deleteWithResponse(deleteBlobSnapshotOptions, requestConditions, context).onErrorResume(t -> t
instanceof BlobStorageException && ((BlobStorageException) t).getStatusCode() == 404,
t -> {
HttpResponse response = ((BlobStorageException) t).getResponse();
return Mono.just(new SimpleResponse<>(response.getRequest(), response.getStatusCode(),
response.getHeaders(), null));
});
return deleteWithResponse(deleteBlobSnapshotOptions, requestConditions, context)
.map(response -> (Response<Boolean>) new SimpleResponse<>(response, true))
.onErrorResume(t -> t instanceof BlobStorageException && ((BlobStorageException) t).getStatusCode() == 404,
t -> {
HttpResponse response = ((BlobStorageException) t).getResponse();
return Mono.just(new SimpleResponse<>(response.getRequest(), response.getStatusCode(),
response.getHeaders(), false));
});
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1198,8 +1198,7 @@ public Response<Void> deleteWithResponse(DeleteSnapshotsOptionType deleteBlobSna
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public boolean deleteIfExists() {
Response<Void> response = deleteIfExistsWithResponse(null, null, null, Context.NONE);
return response.getStatusCode() == 202;
return deleteIfExistsWithResponse(null, null, null, Context.NONE).getValue();
}

/**
Expand All @@ -1211,7 +1210,7 @@ public boolean deleteIfExists() {
*
* <!-- src_embed com.azure.storage.blob.specialized.BlobClientBase.deleteIfExistsWithResponse#DeleteSnapshotsOptionType-BlobRequestConditions-Duration-Context -->
* <pre>
* Response&lt;Void&gt; response = client.deleteIfExistsWithResponse&#40;DeleteSnapshotsOptionType.INCLUDE, null, timeout,
* Response&lt;Boolean&gt; response = client.deleteIfExistsWithResponse&#40;DeleteSnapshotsOptionType.INCLUDE, null, timeout,
* new Context&#40;key1, value1&#41;&#41;;
* if &#40;response.getStatusCode&#40;&#41; == 404&#41; &#123;
* System.out.println&#40;&quot;Does not exist.&quot;&#41;;
Expand All @@ -1234,7 +1233,7 @@ public boolean deleteIfExists() {
* blob was successfully deleted. If status code is 404, the base blob does not exist.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Response<Void> deleteIfExistsWithResponse(DeleteSnapshotsOptionType deleteBlobSnapshotOptions,
public Response<Boolean> deleteIfExistsWithResponse(DeleteSnapshotsOptionType deleteBlobSnapshotOptions,
BlobRequestConditions requestConditions, Duration timeout, Context context) {
return blockWithOptionalTimeout(client.deleteIfExistsWithResponse(deleteBlobSnapshotOptions,
requestConditions, context), timeout);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,7 @@ public void createIfNotExistsCodeSnippets() {
BlobContainerCreateOptions options = new BlobContainerCreateOptions().setMetadata(metadata)
.setPublicAccessType(PublicAccessType.CONTAINER);

Response<Void> response = client.createIfNotExistsWithResponse(options, timeout, context);
Response<Boolean> response = client.createIfNotExistsWithResponse(options, timeout, context);
if (response.getStatusCode() == 409) {
System.out.println("Already existed.");
} else {
Expand All @@ -501,7 +501,7 @@ public void deleteIfExistsCodeSnippets() {
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Context context = new Context("Key", "Value");

Response<Void> response = client.deleteIfExistsWithResponse(requestConditions, timeout, context);
Response<Boolean> response = client.deleteIfExistsWithResponse(requestConditions, timeout, context);
if (response.getStatusCode() == 404) {
System.out.println("Does not exist.");
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ public void deleteContainerIfExistsCodeSnippets() {
// BEGIN: com.azure.storage.blob.BlobServiceClient.deleteBlobContainerIfExistsWithResponse#String-Context
Context context = new Context("Key", "Value");

Response<Void> response = client.deleteBlobContainerIfExistsWithResponse("containerName", context);
Response<Boolean> response = client.deleteBlobContainerIfExistsWithResponse("containerName", context);
if (response.getStatusCode() == 404) {
System.out.println("Does not exist.");
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -776,7 +776,7 @@ public void deleteIfExistsCodeSnippets() {
// END: com.azure.storage.blob.specialized.BlobClientBase.deleteIfExists

// BEGIN: com.azure.storage.blob.specialized.BlobClientBase.deleteIfExistsWithResponse#DeleteSnapshotsOptionType-BlobRequestConditions-Duration-Context
Response<Void> response = client.deleteIfExistsWithResponse(DeleteSnapshotsOptionType.INCLUDE, null, timeout,
Response<Boolean> response = client.deleteIfExistsWithResponse(DeleteSnapshotsOptionType.INCLUDE, null, timeout,
new Context(key1, value1));
if (response.getStatusCode() == 404) {
System.out.println("Does not exist.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2834,6 +2834,7 @@ class BlobAPITest extends APISpec {
def headers = response.getHeaders()

then:
response.getValue()
response.getStatusCode() == 202
headers.getValue("x-ms-request-id") != null
headers.getValue("x-ms-version") != null
Expand All @@ -2853,6 +2854,7 @@ class BlobAPITest extends APISpec {
def response = bc.deleteIfExistsWithResponse(null, null, null, null)

then:
!response.getValue()
response.getStatusCode() == 404
}

Expand All @@ -2862,7 +2864,9 @@ class BlobAPITest extends APISpec {
def secondResponse = bc.deleteIfExistsWithResponse(null, null, null, null)

then:
initialResponse.getValue()
initialResponse.getStatusCode() == 202
!secondResponse.getValue()
secondResponse.getStatusCode() == 404

}
Expand Down
Loading

0 comments on commit 2b9b3de

Please sign in to comment.