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/11/16 02:05:42 UTC
[camel] branch main updated: CAMEL-17189: User-supplied SalesforceHttpClient
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
The following commit(s) were added to refs/heads/main by this push:
new db6a2d7 CAMEL-17189: User-supplied SalesforceHttpClient
db6a2d7 is described below
commit db6a2d7c4f4555904d6c60efc6aeb056c6c276b4
Author: Jeremy Ross <je...@gmail.com>
AuthorDate: Mon Nov 15 19:58:21 2021 -0600
CAMEL-17189: User-supplied SalesforceHttpClient
Make sure we actually use the SalesforceHttpClient that the user provides.
---
.../component/salesforce/SalesforceComponent.java | 16 ++++++++-----
.../SalesforceComponentIntegrationTest.java | 27 ++++++++++++++++++++++
2 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
index c99fa0a..0fca548 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
@@ -378,14 +378,18 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
// create a Jetty HttpClient if not already set
if (httpClient == null) {
- final SSLContextParameters contextParameters = Optional.ofNullable(sslContextParameters)
- .orElseGet(() -> Optional.ofNullable(retrieveGlobalSslContextParameters())
- .orElseGet(() -> new SSLContextParameters()));
+ if (config != null && config.getHttpClient() != null) {
+ httpClient = config.getHttpClient();
+ } else {
+ final SSLContextParameters contextParameters = Optional.ofNullable(sslContextParameters)
+ .orElseGet(() -> Optional.ofNullable(retrieveGlobalSslContextParameters())
+ .orElseGet(() -> new SSLContextParameters()));
- final SslContextFactory sslContextFactory = new SslContextFactory();
- sslContextFactory.setSslContext(contextParameters.createSSLContext(getCamelContext()));
+ final SslContextFactory sslContextFactory = new SslContextFactory();
+ sslContextFactory.setSslContext(contextParameters.createSSLContext(getCamelContext()));
- httpClient = createHttpClient(this, sslContextFactory, getCamelContext(), workerPoolSize, workerPoolMaxSize);
+ httpClient = createHttpClient(this, sslContextFactory, getCamelContext(), workerPoolSize, workerPoolMaxSize);
+ }
if (config != null) {
config.setHttpClient(httpClient);
}
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceComponentIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceComponentIntegrationTest.java
new file mode 100644
index 0000000..af38b25
--- /dev/null
+++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceComponentIntegrationTest.java
@@ -0,0 +1,27 @@
+package org.apache.camel.component.salesforce;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class SalesforceComponentIntegrationTest extends AbstractSalesforceTestBase {
+
+ private SalesforceHttpClient client = new SalesforceHttpClient();
+ private SalesforceComponent component;
+
+ @Test
+ public void usesUserSuppliedHttpClient() {
+ assertEquals(client, component.getHttpClient());
+ }
+
+ @Override
+ protected void createComponent() throws Exception {
+ super.createComponent();
+ client = new SalesforceHttpClient();
+ SalesforceEndpointConfig config = new SalesforceEndpointConfig();
+ config.setHttpClient(client);
+ component = (SalesforceComponent) context.getComponent("salesforce");
+ component.setConfig(config);
+ component.getLoginConfig().setLazyLogin(true);
+ }
+}