You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by je...@apache.org on 2021/12/15 20:12:19 UTC
[camel] 01/02: CAMEL-17344: camel-salesforce: swallowing exceptions
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 <je...@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();