This is an automated email from the ASF dual-hosted git repository. jeremyross pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit c08783523cdc4e2e4f2b5ded56f0a27e4e72c024 Author: Jeremy Ross <jeremy.g.r...@gmail.com> AuthorDate: Wed Dec 15 12:24:33 2021 -0600 CAMEL-17344: camel-salesforce: swallowing exceptions collections operations swallow exceptions --- ...efaultCompositeSObjectCollectionsApiClient.java | 34 +++++++++++++--------- .../CompositeSObjectCollectionsProcessor.java | 2 +- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java index 75c575a..953ac60 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeSObjectCollectionsApiClient.java @@ -85,11 +85,11 @@ public class DefaultCompositeSObjectCollectionsApiClient extends AbstractClientB doHttpRequest(request, new ClientResponseCallback() { @Override public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) { - callback.onResponse( - tryToReadListResponse( - sobjectType, response), - headers, - ex); + Optional<List<T>> body = Optional.empty(); + if (ex == null) { + body = tryToReadListResponse(sobjectType, response); + } + callback.onResponse(body, headers, ex); } }); } @@ -124,9 +124,11 @@ public class DefaultCompositeSObjectCollectionsApiClient extends AbstractClientB doHttpRequest(request, new ClientResponseCallback() { @Override public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) { - callback.onResponse( - tryToReadListResponse(SaveSObjectResult.class, response), - headers, ex); + Optional<List<SaveSObjectResult>> body = Optional.empty(); + if (ex == null) { + body = tryToReadListResponse(SaveSObjectResult.class, response); + } + callback.onResponse(body, headers, ex); } }); } @@ -152,9 +154,11 @@ public class DefaultCompositeSObjectCollectionsApiClient extends AbstractClientB doHttpRequest(request, new ClientResponseCallback() { @Override public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) { - callback.onResponse( - tryToReadListResponse(UpsertSObjectResult.class, response), - headers, ex); + Optional<List<UpsertSObjectResult>> body = Optional.empty(); + if (ex == null) { + body = tryToReadListResponse(UpsertSObjectResult.class, response); + } + callback.onResponse(body, headers, ex); } }); } @@ -172,9 +176,11 @@ public class DefaultCompositeSObjectCollectionsApiClient extends AbstractClientB doHttpRequest(request, new ClientResponseCallback() { @Override public void onResponse(InputStream response, Map<String, String> headers, SalesforceException ex) { - callback.onResponse( - tryToReadListResponse(DeleteSObjectResult.class, response), - headers, ex); + Optional<List<DeleteSObjectResult>> body = Optional.empty(); + if (ex == null) { + body = tryToReadListResponse(DeleteSObjectResult.class, response); + } + callback.onResponse(body, headers, ex); } }); } diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java index 98319a7..03d6a20 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeSObjectCollectionsProcessor.java @@ -172,7 +172,7 @@ public class CompositeSObjectCollectionsProcessor extends AbstractSalesforceProc final Exchange exchange, final Optional<? extends List<?>> responseBody, final Map<String, String> headers, final SalesforceException exception, final AsyncCallback callback) { try { - if (!responseBody.isPresent()) { + if (exception != null) { exchange.setException(exception); } else { Message in = exchange.getIn();