This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch jakarta/fixes in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2ff288739cfc15e112fb47c21c29c9e8a05933e6 Author: Guillaume Nodet <[email protected]> AuthorDate: Wed Dec 7 11:46:38 2022 +0100 Fix salesforce component (cherry picked from commit eda15c498fb3834996924607e353ecb1e37cffcc) --- .../salesforce/codegen/AbstractSalesforceExecution.java | 2 +- .../camel-salesforce/camel-salesforce-component/pom.xml | 12 +----------- .../camel/component/salesforce/SalesforceComponent.java | 6 +++--- .../camel/component/salesforce/SalesforceConsumer.java | 6 ++++-- .../component/salesforce/SalesforceHttpClient.java | 13 ++++++++++--- .../salesforce/internal/client/AbstractClientBase.java | 9 +++++---- .../internal/client/DefaultAnalyticsApiClient.java | 2 +- .../internal/client/DefaultBulkApiClient.java | 2 +- .../internal/client/DefaultBulkApiV2Client.java | 2 +- .../internal/client/DefaultCompositeApiClient.java | 2 +- .../DefaultCompositeSObjectCollectionsApiClient.java | 2 +- .../salesforce/internal/client/DefaultRawClient.java | 4 ++-- .../salesforce/internal/client/DefaultRestClient.java | 2 +- .../internal/client/SalesforceSecurityHandler.java | 17 +++++++++-------- .../salesforce/internal/streaming/ReplayExtension.java | 4 ++-- .../internal/streaming/SubscriptionHelper.java | 13 +++++-------- .../component/salesforce/BulkApiIntegrationTest.java | 10 ++++++++-- .../component/salesforce/HttpProxyIntegrationTest.java | 10 ++++------ .../component/salesforce/RestApiIntegrationTest.java | 17 +++++++++++++---- .../component/salesforce/SalesforceConsumerTest.java | 6 ++++-- .../salesforce/internal/SessionIntegrationTest.java | 2 +- .../internal/client/AbstractClientBaseTest.java | 4 ++-- 22 files changed, 80 insertions(+), 67 deletions(-) diff --git a/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/AbstractSalesforceExecution.java b/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/AbstractSalesforceExecution.java index db6eeb356a3..a7cf151ebb3 100644 --- a/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/AbstractSalesforceExecution.java +++ b/components/camel-salesforce/camel-salesforce-codegen/src/main/java/org/apache/camel/component/salesforce/codegen/AbstractSalesforceExecution.java @@ -203,7 +203,7 @@ public abstract class AbstractSalesforceExecution { // set ssl context parameters try { - final SslContextFactory sslContextFactory = new SslContextFactory(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(sslContextParameters.createSSLContext(camelContext)); SecurityUtils.adaptToIBMCipherNames(sslContextFactory); diff --git a/components/camel-salesforce/camel-salesforce-component/pom.xml b/components/camel-salesforce/camel-salesforce-component/pom.xml index ba5cd7ed55c..fd92b08a72f 100644 --- a/components/camel-salesforce/camel-salesforce-component/pom.xml +++ b/components/camel-salesforce/camel-salesforce-component/pom.xml @@ -108,18 +108,8 @@ </dependency> <dependency> <groupId>org.cometd.java</groupId> - <artifactId>cometd-java-client-websocket-jetty</artifactId> + <artifactId>cometd-java-client-http-jetty</artifactId> <version>${cometd-java-client-version}</version> - <exclusions> - <exclusion> - <groupId>org.eclipse.jetty</groupId> - <artifactId>*</artifactId> - </exclusion> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>org.apache.commons</groupId> 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 6fac729d865..8659ba42e1a 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 @@ -391,7 +391,7 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP .orElseGet(() -> Optional.ofNullable(retrieveGlobalSslContextParameters()) .orElseGet(() -> new SSLContextParameters())); - final SslContextFactory sslContextFactory = new SslContextFactory(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(contextParameters.createSSLContext(getCamelContext())); httpClient = createHttpClient(this, sslContextFactory, getCamelContext(), workerPoolSize, workerPoolMaxSize); @@ -820,7 +820,7 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP // let's work with a copy so original properties are intact PropertyBindingSupport.bindProperties(camelContext, sslContextParameters, new HashMap<>(properties)); - final SslContextFactory sslContextFactory = new SslContextFactory(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(sslContextParameters.createSSLContext(camelContext)); final SalesforceHttpClient httpClient @@ -838,7 +838,7 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP } static SalesforceHttpClient createHttpClient( - Object source, final SslContextFactory sslContextFactory, final CamelContext context, int workerPoolSize, + Object source, final SslContextFactory.Client sslContextFactory, final CamelContext context, int workerPoolSize, int workerPoolMaxSize) { SecurityUtils.adaptToIBMCipherNames(sslContextFactory); diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java index bda83acabb9..71ce21726e0 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceConsumer.java @@ -170,7 +170,8 @@ public class SalesforceConsumer extends DefaultConsumer { if (rawPayload) { // getJSON is used for raw payload - in.setBody(message.getJSON()); + in.setBody(new org.cometd.common.JacksonJSONContextClient() + .generate(new org.cometd.common.HashMapMessage(message))); } else { payload.remove("ChangeEventHeader"); in.setBody(payload); @@ -200,7 +201,8 @@ public class SalesforceConsumer extends DefaultConsumer { if (rawPayload) { // getJSON is used for raw payload - in.setBody(message.getJSON()); + in.setBody(new org.cometd.common.JacksonJSONContextClient() + .generate(new org.cometd.common.HashMapMessage(message))); } else { in.setBody(platformEvent); } diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceHttpClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceHttpClient.java index e12403c498a..67aceb4c9a6 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceHttpClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceHttpClient.java @@ -33,6 +33,7 @@ import org.eclipse.jetty.client.HttpRequest; import org.eclipse.jetty.client.ProtocolHandler; import org.eclipse.jetty.client.api.Request; import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP; +import org.eclipse.jetty.io.ClientConnector; import org.eclipse.jetty.util.ssl.SslContextFactory; /** @@ -61,12 +62,12 @@ public class SalesforceHttpClient extends HttpClient { this(null); } - public SalesforceHttpClient(SslContextFactory sslContextFactory) { + public SalesforceHttpClient(SslContextFactory.Client sslContextFactory) { this(null, Executors.newCachedThreadPool(), sslContextFactory); } - public SalesforceHttpClient(CamelContext context, ExecutorService workerPool, SslContextFactory sslContextFactory) { - super(new HttpClientTransportOverHTTP(), sslContextFactory); + public SalesforceHttpClient(CamelContext context, ExecutorService workerPool, SslContextFactory.Client sslContextFactory) { + super(new HttpClientTransportOverHTTP(newConnector(sslContextFactory))); this.workerPool = workerPool; this.camelContext = context; @@ -90,6 +91,12 @@ public class SalesforceHttpClient extends HttpClient { } } + private static ClientConnector newConnector(SslContextFactory.Client sslContextFactory) { + ClientConnector connector = new ClientConnector(); + connector.setSslContextFactory(sslContextFactory); + return connector; + } + @Override public HttpRequest newHttpRequest(HttpConversation conversation, URI uri) { final SalesforceHttpRequest request = new SalesforceHttpRequest(this, conversation, uri); diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java index cdbc0462509..984cb05a001 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java @@ -368,10 +368,11 @@ public abstract class AbstractClientBase extends ServiceSupport return; } - final HttpFields requestHeaders = request.getHeaders(); - for (Entry<String, List<String>> header : headers.entrySet()) { - requestHeaders.put(header.getKey(), header.getValue()); - } + request.headers(requestHeaders -> { + for (Entry<String, List<String>> header : headers.entrySet()) { + requestHeaders.put(header.getKey(), header.getValue()); + } + }); } static Map<String, List<String>> determineHeaders(final Exchange exchange) { diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java index fa9725fddf4..eee09ac6fdd 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java @@ -250,7 +250,7 @@ public class DefaultAnalyticsApiClient extends AbstractClientBase implements Ana @Override protected void setAccessToken(Request request) { // replace old token - request.getHeaders().put(HttpHeader.AUTHORIZATION, TOKEN_PREFIX + accessToken); + request.header(HttpHeader.AUTHORIZATION, TOKEN_PREFIX + accessToken); } @Override diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java index b8991d00437..d2d86630098 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java @@ -366,7 +366,7 @@ public class DefaultBulkApiClient extends AbstractClientBase implements BulkApiC @Override protected void setAccessToken(Request request) { // replace old token - request.getHeaders().put(TOKEN_HEADER, accessToken); + request.header(TOKEN_HEADER, accessToken); } @Override diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java index 38f11b3274d..8b4ff1554c3 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiV2Client.java @@ -312,7 +312,7 @@ public class DefaultBulkApiV2Client extends AbstractClientBase implements BulkAp @Override protected void setAccessToken(Request request) { - request.getHeaders().put(AUTHORIZATION_HEADER, BEARER_PREFIX + accessToken); + request.header(AUTHORIZATION_HEADER, BEARER_PREFIX + accessToken); } private String jobUrl(String jobId) { diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java index 9b05fa62240..79567c25471 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultCompositeApiClient.java @@ -228,7 +228,7 @@ public class DefaultCompositeApiClient extends AbstractClientBase implements Com @Override protected void setAccessToken(final Request request) { - request.getHeaders().put("Authorization", "Bearer " + accessToken); + request.header("Authorization", "Bearer " + accessToken); } static void checkCompositeBatchVersion(final String configuredVersion, final Version batchVersion) 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 734ae54b4de..ff9d6956d1a 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 @@ -182,7 +182,7 @@ public class DefaultCompositeSObjectCollectionsApiClient extends AbstractClientB @Override protected void setAccessToken(final Request request) { - request.getHeaders().put("Authorization", "Bearer " + accessToken); + request.header("Authorization", "Bearer " + accessToken); } private Request createRequest(final String method, final String url, final Map<String, List<String>> headers) { diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRawClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRawClient.java index c4483d4e0af..a004081d6e8 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRawClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRawClient.java @@ -49,8 +49,8 @@ public class DefaultRawClient extends AbstractClientBase implements RawClient { @Override protected void setAccessToken(Request request) { // replace old token - request.getHeaders().put(BULK_TOKEN_HEADER, accessToken); - request.getHeaders().put(REST_TOKEN_HEADER, TOKEN_PREFIX + accessToken); + request.header(BULK_TOKEN_HEADER, accessToken); + request.header(REST_TOKEN_HEADER, TOKEN_PREFIX + accessToken); } @Override diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java index fc1329186bf..dd986926bed 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultRestClient.java @@ -406,7 +406,7 @@ public class DefaultRestClient extends AbstractClientBase implements RestClient @Override protected void setAccessToken(Request request) { // replace old token - request.getHeaders().put(TOKEN_HEADER, TOKEN_PREFIX + accessToken); + request.header(TOKEN_HEADER, TOKEN_PREFIX + accessToken); } private String urlEncode(String query) throws UnsupportedEncodingException { diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/SalesforceSecurityHandler.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/SalesforceSecurityHandler.java index b672f5c101f..fd5f3380327 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/SalesforceSecurityHandler.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/SalesforceSecurityHandler.java @@ -253,15 +253,16 @@ public class SalesforceSecurityHandler implements ProtocolHandler { if (copy) { newRequest = httpClient.copyRequest(request, request.getURI()); newRequest.method(request.getMethod()); - HttpFields headers = newRequest.getHeaders(); - // copy cookies and host for subscriptions to avoid - // '403::Unknown Client' errors - for (HttpField field : request.getHeaders()) { - HttpHeader header = field.getHeader(); - if (HttpHeader.COOKIE.equals(header) || HttpHeader.HOST.equals(header)) { - headers.add(header, field.getValue()); + newRequest.headers(headers -> { + // copy cookies and host for subscriptions to avoid + // '403::Unknown Client' errors + for (HttpField field : request.getHeaders()) { + HttpHeader header = field.getHeader(); + if (HttpHeader.COOKIE.equals(header) || HttpHeader.HOST.equals(header)) { + headers.add(header, field.getValue()); + } } - } + }); } else { newRequest = request; } diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/ReplayExtension.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/ReplayExtension.java index b70dc995ed2..287d4400da5 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/ReplayExtension.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/ReplayExtension.java @@ -32,7 +32,7 @@ import java.util.function.Supplier; import org.cometd.bayeux.Channel; import org.cometd.bayeux.Message; import org.cometd.bayeux.client.ClientSession; -import org.cometd.bayeux.client.ClientSession.Extension.Adapter; +import org.cometd.bayeux.client.ClientSession.Extension; /** * The Bayeux extension for replay @@ -40,7 +40,7 @@ import org.cometd.bayeux.client.ClientSession.Extension.Adapter; * @author hal.hildebrand * @since API v37.0 */ -public class ReplayExtension extends Adapter { +public class ReplayExtension implements Extension { private static final String EXTENSION_NAME = "replay"; private static final String EVENT_KEY = "event"; private static final String REPLAY_ID_KEY = "replayId"; diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java index 51441670ef5..e0cb14a385f 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java @@ -16,10 +16,7 @@ */ package org.apache.camel.component.salesforce.internal.streaming; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; @@ -39,8 +36,8 @@ import org.cometd.bayeux.client.ClientSessionChannel; import org.cometd.bayeux.client.ClientSessionChannel.MessageListener; import org.cometd.client.BayeuxClient; import org.cometd.client.BayeuxClient.State; +import org.cometd.client.http.jetty.JettyHttpClientTransport; import org.cometd.client.transport.ClientTransport; -import org.cometd.client.transport.LongPollingTransport; import org.eclipse.jetty.client.api.Request; import org.eclipse.jetty.http.HttpHeader; import org.slf4j.Logger; @@ -297,7 +294,7 @@ public class SubscriptionHelper extends ServiceSupport { if (client != null && client.isHandshook()) { LOG.debug("Successful handshake!"); // reset backoff interval - handshakeBackoff.set(client.getBackoffIncrement()); + handshakeBackoff.set(backoffIncrement); } else { LOG.error("Failed to handshake after pausing for {} msecs", backoff); if ((backoff + backoffIncrement) > maxBackoff) { @@ -387,7 +384,7 @@ public class SubscriptionHelper extends ServiceSupport { session.login(null); } - LongPollingTransport transport = new LongPollingTransport(options, httpClient) { + ClientTransport transport = new JettyHttpClientTransport(options, httpClient) { @Override protected void customize(Request request) { super.customize(request); @@ -401,7 +398,7 @@ public class SubscriptionHelper extends ServiceSupport { throw new RuntimeException(e); } } - request.getHeaders().put(HttpHeader.AUTHORIZATION, "OAuth " + accessToken); + request.header(HttpHeader.AUTHORIZATION, "OAuth " + accessToken); } }; diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/BulkApiIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/BulkApiIntegrationTest.java index 3e4fb04a798..fc9b405cab8 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/BulkApiIntegrationTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/BulkApiIntegrationTest.java @@ -24,10 +24,13 @@ import org.apache.camel.component.salesforce.api.dto.bulk.OperationEnum; import org.apache.camel.component.salesforce.dto.generated.Merchandise__c; import org.apache.camel.support.jsse.SSLContextParameters; import org.eclipse.jetty.client.HttpClient; +import org.eclipse.jetty.client.HttpClientTransport; import org.eclipse.jetty.client.api.ContentResponse; import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP; import org.eclipse.jetty.http.HttpMethod; import org.eclipse.jetty.http.HttpStatus; +import org.eclipse.jetty.io.ClientConnector; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; @@ -42,9 +45,12 @@ public class BulkApiIntegrationTest extends AbstractBulkApiTestBase { final SalesforceComponent sf = context().getComponent("salesforce", SalesforceComponent.class); final String accessToken = sf.getSession().getAccessToken(); - final SslContextFactory sslContextFactory = new SslContextFactory.Client(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(new SSLContextParameters().createSSLContext(context)); - final HttpClient httpClient = new HttpClient(sslContextFactory); + final ClientConnector connector = new ClientConnector(); + connector.setSslContextFactory(sslContextFactory); + final HttpClientTransport transport = new HttpClientTransportOverHTTP(connector); + final HttpClient httpClient = new HttpClient(transport); httpClient.setConnectTimeout(60000); httpClient.start(); diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/HttpProxyIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/HttpProxyIntegrationTest.java index f676ef2fa03..5640deb4815 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/HttpProxyIntegrationTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/HttpProxyIntegrationTest.java @@ -16,10 +16,8 @@ */ package org.apache.camel.component.salesforce; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.nio.charset.StandardCharsets; +import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; @@ -36,7 +34,6 @@ import org.apache.camel.test.junit5.params.Test; import org.eclipse.jetty.proxy.ConnectHandler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.util.B64Code; import org.eclipse.jetty.util.StringUtil; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; @@ -108,7 +105,8 @@ public class HttpProxyIntegrationTest extends AbstractSalesforceTestBase { server.addConnector(connector); final String authenticationString - = "Basic " + B64Code.encode(HTTP_PROXY_USER_NAME + ":" + HTTP_PROXY_PASSWORD, StringUtil.__ISO_8859_1); + = "Basic " + Base64.getEncoder().encodeToString( + (HTTP_PROXY_USER_NAME + ":" + HTTP_PROXY_PASSWORD).getBytes(StandardCharsets.ISO_8859_1)); ConnectHandler connectHandler = new ConnectHandler() { @Override diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java index 0966e5ee092..cc5ec0f4bf4 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java @@ -59,10 +59,13 @@ import org.apache.camel.support.DefaultExchange; import org.apache.camel.support.jsse.SSLContextParameters; import org.apache.commons.io.IOUtils; import org.eclipse.jetty.client.HttpClient; +import org.eclipse.jetty.client.HttpClientTransport; import org.eclipse.jetty.client.api.ContentResponse; import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.client.http.HttpClientTransportOverHTTP; import org.eclipse.jetty.http.HttpMethod; import org.eclipse.jetty.http.HttpStatus; +import org.eclipse.jetty.io.ClientConnector; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -619,9 +622,12 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase { final SalesforceComponent sf = context().getComponent("salesforce", SalesforceComponent.class); final String accessToken = sf.getSession().getAccessToken(); - final SslContextFactory sslContextFactory = new SslContextFactory.Client(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(new SSLContextParameters().createSSLContext(context)); - final HttpClient httpClient = new HttpClient(sslContextFactory); + final ClientConnector connector = new ClientConnector(); + connector.setSslContextFactory(sslContextFactory); + final HttpClientTransport transport = new HttpClientTransportOverHTTP(connector); + final HttpClient httpClient = new HttpClient(transport); httpClient.setConnectTimeout(60000); httpClient.start(); @@ -639,9 +645,12 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase { final SalesforceComponent sf = context().getComponent("salesforce", SalesforceComponent.class); final String accessToken = sf.getSession().getAccessToken(); - final SslContextFactory sslContextFactory = new SslContextFactory.Client(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(new SSLContextParameters().createSSLContext(context)); - final HttpClient httpClient = new HttpClient(sslContextFactory); + final ClientConnector connector = new ClientConnector(); + connector.setSslContextFactory(sslContextFactory); + final HttpClientTransport transport = new HttpClientTransportOverHTTP(connector); + final HttpClient httpClient = new HttpClient(transport); httpClient.setConnectTimeout(60000); httpClient.start(); diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java index c411d907eb0..0244a912421 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/SalesforceConsumerTest.java @@ -273,7 +273,8 @@ public class SalesforceConsumerTest { consumer.processMessage(mock(ClientSessionChannel.class), message); - verify(in).setBody(message.getJSON()); + verify(in).setBody(new org.cometd.common.JacksonJSONContextClient() + .generate(new org.cometd.common.HashMapMessage(message))); verify(in).setHeader("CamelSalesforceCreatedDate", ZonedDateTime.parse("2018-07-06T12:41:04Z")); verify(in).setHeader("CamelSalesforceReplayId", 4L); verify(in).setHeader("CamelSalesforceChannel", "/event/TestEvent__e"); @@ -337,7 +338,8 @@ public class SalesforceConsumerTest { consumer.processMessage(mock(ClientSessionChannel.class), mockChangeEvent); - verify(in).setBody(mockChangeEvent.getJSON()); + verify(in).setBody(new org.cometd.common.JacksonJSONContextClient() + .generate(new org.cometd.common.HashMapMessage(mockChangeEvent))); } static Message createPushTopicMessage() { diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/SessionIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/SessionIntegrationTest.java index 3566d639a77..900f2a8cf37 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/SessionIntegrationTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/SessionIntegrationTest.java @@ -40,7 +40,7 @@ public class SessionIntegrationTest implements SalesforceSession.SalesforceSessi @Test public void testLogin() throws Exception { - final SslContextFactory sslContextFactory = new SslContextFactory.Client(); + final SslContextFactory.Client sslContextFactory = new SslContextFactory.Client(); sslContextFactory.setSslContext(new SSLContextParameters().createSSLContext(new DefaultCamelContext())); final SalesforceHttpClient httpClient = new SalesforceHttpClient(sslContextFactory); httpClient.setConnectTimeout(TIMEOUT); diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBaseTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBaseTest.java index af35dfe3ff7..9b430ed7c45 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBaseTest.java +++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBaseTest.java @@ -113,7 +113,7 @@ public class AbstractClientBaseTest { @Test public void shouldDetermineHeadersFromResponse() { final Response response = mock(Response.class); - final HttpFields httpHeaders = new HttpFields(); + final HttpFields.Mutable httpHeaders = HttpFields.build(); httpHeaders.add("Date", "Mon, 20 May 2013 22:21:46 GMT"); httpHeaders.add("Sforce-Limit-Info", "api-usage=18/5000"); httpHeaders.add("Last-Modified", "Mon, 20 May 2013 20:49:32 GMT"); @@ -139,7 +139,7 @@ public class AbstractClientBaseTest { final Result result = mock(Result.class); final Response response = mock(Response.class); when(result.getResponse()).thenReturn(response); - when(response.getHeaders()).thenReturn(new HttpFields()); + when(response.getHeaders()).thenReturn(HttpFields.build()); final SalesforceHttpRequest salesforceRequest = mock(SalesforceHttpRequest.class); when(result.getRequest()).thenReturn(salesforceRequest);
