This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
commit 80c22fedd99077754c804c40a1c82c14ea587d2e Author: Otavio Rodolfo Piske <opi...@redhat.com> AuthorDate: Thu Nov 5 15:15:57 2020 +0100 Decouple the JMS client from the service to simplify using the test infra from Camel --- .../kafkaconnector/sjms2/clients/JMSClient.java | 45 ++++++++++++++++++++++ .../sjms2/services/ArtemisContainer.java | 6 --- .../sjms2/services/ContainerLocalService.java | 6 --- .../sjms2/services/JMSContainer.java | 7 ---- .../kafkaconnector/sjms2/services/JMSService.java | 7 ---- .../services/QpidDispatchRouterContainer.java | 6 --- .../sjms2/services/RemoteJMSService.java | 12 ------ .../sjms2/sink/CamelSinkJMSITCase.java | 2 +- .../sjms2/source/CamelSourceJMSITCase.java | 2 +- .../source/CamelSourceJMSWithAggregation.java | 2 +- 10 files changed, 48 insertions(+), 47 deletions(-) diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java index 7aefc5a..43586c6 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/clients/JMSClient.java @@ -289,4 +289,49 @@ public class JMSClient { jmsProducer.stop(); } } + + private static JMSClient newLocalClient(String endpoint) { + String jmsClientType = System.getProperty("jms-service.transport.protocol"); + + if (jmsClientType == null || jmsClientType.isEmpty() || jmsClientType.equals("qpid")) { + return new JMSClient(org.apache.qpid.jms.JmsConnectionFactory::new, endpoint); + } + + if (jmsClientType.equals("openwire")) { + return new JMSClient(org.apache.activemq.ActiveMQConnectionFactory::new, endpoint); + } + + throw new UnsupportedOperationException("Invalid JMS transport protocol"); + } + + private static JMSClient newRemoteClient(String endpoint) { + String tmpConnectionFactory = System.getProperty("camel.component.sjms2.connection-factory"); + if (tmpConnectionFactory == null) { + throw new UnsupportedOperationException("JMS connection factory class must be provided"); + } + + String connectionFactory = tmpConnectionFactory.replace("#class:", ""); + + + String jmsClientType = System.getProperty("jms-service.transport.protocol"); + if (jmsClientType == null || jmsClientType.isEmpty() || jmsClientType.equals("qpid")) { + return new JMSClient(connectionFactory, endpoint); + } + + if (jmsClientType.equals("openwire")) { + return new JMSClient(connectionFactory, endpoint); + } + + throw new UnsupportedOperationException("Invalid JMS transport protocol"); + } + + public static JMSClient newClient(String endpoint) { + String jmsInstanceType = System.getProperty("jms-service.instance.type"); + + if (jmsInstanceType == null || !jmsInstanceType.equals("remote")) { + return newLocalClient(endpoint); + } + + return newRemoteClient(endpoint); + } } diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java index b06ba3f..dddcd66 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ArtemisContainer.java @@ -19,7 +19,6 @@ package org.apache.camel.kafkaconnector.sjms2.services; import java.util.Properties; -import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.images.builder.ImageFromDockerfile; @@ -140,9 +139,4 @@ public class ArtemisContainer extends JMSContainer { return properties; } - - @Override - public JMSClient getClient() { - return new JMSClient(org.apache.activemq.ActiveMQConnectionFactory::new, getDefaultEndpoint()); - } } diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java index 6e186e8..9e2264f 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/ContainerLocalService.java @@ -19,7 +19,6 @@ package org.apache.camel.kafkaconnector.sjms2.services; import java.util.Properties; -import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,11 +43,6 @@ public class ContainerLocalService implements JMSService { } @Override - public JMSClient getClient() { - return container.getClient(); - } - - @Override public String getDefaultEndpoint() { return container.getDefaultEndpoint(); } diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java index 5a23755..65171d9 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSContainer.java @@ -19,7 +19,6 @@ package org.apache.camel.kafkaconnector.sjms2.services; import java.util.Properties; -import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient; import org.testcontainers.containers.GenericContainer; import org.testcontainers.images.builder.ImageFromDockerfile; @@ -38,12 +37,6 @@ public abstract class JMSContainer extends GenericContainer<JMSContainer> { /** - * Get a client that can access the container - * @return - */ - public abstract JMSClient getClient(); - - /** * Gets the end point URL used exchanging messages through the default acceptor port * @return the end point URL as a string */ diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java index cc0d8fc..902562a 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/JMSService.java @@ -19,7 +19,6 @@ package org.apache.camel.kafkaconnector.sjms2.services; import java.util.Properties; -import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient; import org.junit.jupiter.api.extension.AfterAllCallback; import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.ExtensionContext; @@ -33,12 +32,6 @@ public interface JMSService extends BeforeAllCallback, AfterAllCallback { Properties getConnectionProperties(); /** - * Get the appropriate client for the service - * @return - */ - JMSClient getClient(); - - /** * Gets the default endpoint for the JMS service (ie.: amqp://host:port, or tcp://host:port, etc) * @return the endpoint URL as a string in the specific format used by the service */ diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java index 952be2e..83f6175 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/QpidDispatchRouterContainer.java @@ -19,7 +19,6 @@ package org.apache.camel.kafkaconnector.sjms2.services; import java.util.Properties; -import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.images.builder.ImageFromDockerfile; @@ -69,9 +68,4 @@ public class QpidDispatchRouterContainer extends JMSContainer { return properties; } - - @Override - public JMSClient getClient() { - return new JMSClient(org.apache.qpid.jms.JmsConnectionFactory::new, getDefaultEndpoint()); - } } diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java index 2f39b8a..6779f98 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/services/RemoteJMSService.java @@ -20,7 +20,6 @@ package org.apache.camel.kafkaconnector.sjms2.services; import java.util.Properties; import org.apache.camel.kafkaconnector.common.utils.PropertyUtils; -import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient; public class RemoteJMSService implements JMSService { @@ -44,15 +43,4 @@ public class RemoteJMSService implements JMSService { public String getDefaultEndpoint() { return System.getProperty("jms.broker.address"); } - - @Override - public JMSClient getClient() { - String tmpConnectionFactory = System.getProperty("camel.component.sjms2.connection-factory"); - - String connectionFactory = tmpConnectionFactory.replace("#class:", ""); - - return new JMSClient(connectionFactory, getDefaultEndpoint()); - - - } } diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java index 0f3db92..36b50f2 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java @@ -158,7 +158,7 @@ public class CamelSinkJMSITCase extends AbstractKafkaTest { JMSClient jmsClient = null; try { - jmsClient = jmsService.getClient(); + jmsClient = JMSClient.newClient(jmsService.getDefaultEndpoint()); jmsClient.start(); diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java index addc2b5..c5564ce 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java @@ -63,7 +63,7 @@ public class CamelSourceJMSITCase extends AbstractKafkaTest { @BeforeEach public void setUp() { received = 0; - jmsClient = jmsService.getClient(); + jmsClient = JMSClient.newClient(jmsService.getDefaultEndpoint()); } private <T> boolean checkRecord(ConsumerRecord<String, T> record) { diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java index e9ea5f4..187b25c 100644 --- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java +++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java @@ -61,7 +61,7 @@ public class CamelSourceJMSWithAggregation extends AbstractKafkaTest { @BeforeEach public void setUp() { received = 0; - jmsClient = jmsService.getClient(); + jmsClient = JMSClient.newClient(jmsService.getDefaultEndpoint()); for (int i = 0; i < sentSize - 1; i++) { expectedMessage += "hello;\n";