You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/01/29 14:00:59 UTC

(camel) branch main updated (01a029e8ae4 -> 8ce801125f4)

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 01a029e8ae4 Upgrade Localstack container image to version 3.1.0 (#12945)
     new 976a37ff52d (chores) camel-spring-rabbitmq: minor code cleanups
     new 8ce801125f4 (chores) camel-spring-rabbitmq: cleaned up duplicated code

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../springrabbit/SpringRabbitMQProducer.java       | 60 +++++++++++-----------
 .../springrabbit/SpringRabbitPollingConsumer.java  |  4 +-
 .../integration/RabbitMQProducerIT.java            | 21 +++++---
 .../RabbitMQProducerInvalidExchangeIT.java         | 12 ++---
 4 files changed, 49 insertions(+), 48 deletions(-)


(camel) 02/02: (chores) camel-spring-rabbitmq: cleaned up duplicated code

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 8ce801125f422a3faa03b6d3870f44b205e2279d
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Jan 29 13:48:42 2024 +0100

    (chores) camel-spring-rabbitmq: cleaned up duplicated code
---
 .../springrabbit/SpringRabbitMQProducer.java       | 60 +++++++++++-----------
 1 file changed, 30 insertions(+), 30 deletions(-)

diff --git a/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java b/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
index dbd09d74d57..73712e16f8c 100644
--- a/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
+++ b/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitMQProducer.java
@@ -126,25 +126,12 @@ public class SpringRabbitMQProducer extends DefaultAsyncProducer {
 
     protected boolean processInOut(Exchange exchange, AsyncCallback callback) {
         // header take precedence over endpoint
-        String exchangeName = (String) exchange.getMessage().removeHeader(SpringRabbitMQConstants.EXCHANGE_OVERRIDE_NAME);
-        if (exchangeName == null) {
-            exchangeName = getEndpoint().getExchangeName();
-        }
-        exchangeName = SpringRabbitMQHelper.isDefaultExchange(exchangeName) ? "" : exchangeName;
+        final String exchangeName = getExchangeName(exchange);
 
-        String routingKey = (String) exchange.getMessage().removeHeader(SpringRabbitMQConstants.ROUTING_OVERRIDE_KEY);
-        if (routingKey == null) {
-            routingKey = getEndpoint().getRoutingKey();
-        }
+        final String routingKey
+                = getValue(exchange, SpringRabbitMQConstants.ROUTING_OVERRIDE_KEY, getEndpoint().getRoutingKey());
 
-        Object body = exchange.getMessage().getBody();
-        Message msg;
-        if (body instanceof Message) {
-            msg = (Message) body;
-        } else {
-            MessageProperties mp = getEndpoint().getMessagePropertiesConverter().toMessageProperties(exchange);
-            msg = getEndpoint().getMessageConverter().toMessage(body, mp);
-        }
+        final Message msg = getMessage(exchange);
 
         try {
             // will use RabbitMQ direct reply-to
@@ -180,19 +167,7 @@ public class SpringRabbitMQProducer extends DefaultAsyncProducer {
         return true;
     }
 
-    protected boolean processInOnly(Exchange exchange, AsyncCallback callback) {
-        // header take precedence over endpoint
-        String exchangeName = (String) exchange.getMessage().removeHeader(SpringRabbitMQConstants.EXCHANGE_OVERRIDE_NAME);
-        if (exchangeName == null) {
-            exchangeName = getEndpoint().getExchangeName();
-        }
-        exchangeName = SpringRabbitMQHelper.isDefaultExchange(exchangeName) ? "" : exchangeName;
-
-        String routingKey = (String) exchange.getMessage().removeHeader(SpringRabbitMQConstants.ROUTING_OVERRIDE_KEY);
-        if (routingKey == null) {
-            routingKey = getEndpoint().getRoutingKey();
-        }
-
+    private Message getMessage(Exchange exchange) {
         Object body = exchange.getMessage().getBody();
         Message msg;
         if (body instanceof Message) {
@@ -201,6 +176,17 @@ public class SpringRabbitMQProducer extends DefaultAsyncProducer {
             MessageProperties mp = getEndpoint().getMessagePropertiesConverter().toMessageProperties(exchange);
             msg = getEndpoint().getMessageConverter().toMessage(body, mp);
         }
+        return msg;
+    }
+
+    protected boolean processInOnly(Exchange exchange, AsyncCallback callback) {
+        // header take precedence over endpoint
+        final String exchangeName = getExchangeName(exchange);
+
+        final String routingKey
+                = getValue(exchange, SpringRabbitMQConstants.ROUTING_OVERRIDE_KEY, getEndpoint().getRoutingKey());
+
+        final Message msg = getMessage(exchange);
 
         final String ex = exchangeName;
         final String rk = routingKey;
@@ -233,6 +219,20 @@ public class SpringRabbitMQProducer extends DefaultAsyncProducer {
         return true;
     }
 
+    private String getValue(Exchange exchange, String routingOverrideKey, String defaultValue) {
+        String routingKey = (String) exchange.getMessage().removeHeader(routingOverrideKey);
+        if (routingKey == null) {
+            return defaultValue;
+        }
+        return routingKey;
+    }
+
+    private String getExchangeName(Exchange exchange) {
+        String exchangeName
+                = getValue(exchange, SpringRabbitMQConstants.EXCHANGE_OVERRIDE_NAME, getEndpoint().getExchangeName());
+        return SpringRabbitMQHelper.isDefaultExchange(exchangeName) ? "" : exchangeName;
+    }
+
     /**
      * Pre tests the connection before starting the listening.
      * <p/>


(camel) 01/02: (chores) camel-spring-rabbitmq: minor code cleanups

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 976a37ff52dcc8c42056e28a9b33edaf0d843ab8
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Jan 29 13:34:30 2024 +0100

    (chores) camel-spring-rabbitmq: minor code cleanups
    
    - Simplify/correct test assertions
    - Use final when possible
---
 .../springrabbit/SpringRabbitPollingConsumer.java   |  4 ++--
 .../integration/RabbitMQProducerIT.java             | 21 +++++++++++++--------
 .../RabbitMQProducerInvalidExchangeIT.java          | 12 ++++--------
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitPollingConsumer.java b/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitPollingConsumer.java
index f055f764bb4..200477c49d1 100644
--- a/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitPollingConsumer.java
+++ b/components/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/SpringRabbitPollingConsumer.java
@@ -24,8 +24,8 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
 
 public class SpringRabbitPollingConsumer extends PollingConsumerSupport {
 
-    private RabbitTemplate template;
-    private SpringRabbitMQEndpoint jmsEndpoint;
+    private final RabbitTemplate template;
+    private final SpringRabbitMQEndpoint jmsEndpoint;
 
     public SpringRabbitPollingConsumer(SpringRabbitMQEndpoint endpoint, RabbitTemplate template) {
         super(endpoint);
diff --git a/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java b/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java
index 878e95d20e9..d3ed4743268 100644
--- a/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java
+++ b/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java
@@ -75,7 +75,10 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
 
         AmqpTemplate template = new RabbitTemplate(cf);
         Message out = template.receive("myqueue");
-        Assertions.assertEquals("Hello World", new String(out.getBody()));
+
+        byte[] body = out.getBody();
+        Assertions.assertNotNull(body, "The body should not be null");
+        Assertions.assertEquals("Hello World", new String(body));
         Assertions.assertEquals("gouda", out.getMessageProperties().getHeader("cheese"));
     }
 
@@ -130,15 +133,17 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
         AmqpTemplate template = new RabbitTemplate(cf);
         Message out = template.receive("myqueue");
 
-        String encoding = out.getMessageProperties().getContentEncoding();
+        final MessageProperties messageProperties = out.getMessageProperties();
+        Assertions.assertNotNull(messageProperties, "The message properties should not be null");
+        String encoding = messageProperties.getContentEncoding();
         Assertions.assertEquals(Charset.defaultCharset().name(), encoding);
         Assertions.assertEquals("<price>123</price>", new String(out.getBody(), encoding));
-        Assertions.assertEquals(MessageDeliveryMode.PERSISTENT, out.getMessageProperties().getReceivedDeliveryMode());
-        Assertions.assertEquals("price", out.getMessageProperties().getType());
-        Assertions.assertEquals("application/xml", out.getMessageProperties().getContentType());
-        Assertions.assertEquals("0fe9c142-f9c1-426f-9237-f5a4c988a8ae", out.getMessageProperties().getMessageId());
-        Assertions.assertEquals(1, out.getMessageProperties().getPriority());
-        Assertions.assertEquals(0, out.getMessageProperties().getHeaders().size());
+        Assertions.assertEquals(MessageDeliveryMode.PERSISTENT, messageProperties.getReceivedDeliveryMode());
+        Assertions.assertEquals("price", messageProperties.getType());
+        Assertions.assertEquals("application/xml", messageProperties.getContentType());
+        Assertions.assertEquals("0fe9c142-f9c1-426f-9237-f5a4c988a8ae", messageProperties.getMessageId());
+        Assertions.assertEquals(1, messageProperties.getPriority());
+        Assertions.assertEquals(0, messageProperties.getHeaders().size());
     }
 
     @Override
diff --git a/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java b/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java
index 694a5af2ec1..efa4e5aef01 100644
--- a/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java
+++ b/components/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.springrabbit.integration;
 
 import com.rabbitmq.client.ShutdownSignalException;
+import org.apache.camel.CamelExecutionException;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.jupiter.api.Assertions;
@@ -28,8 +29,6 @@ import org.springframework.amqp.core.TopicExchange;
 import org.springframework.amqp.rabbit.connection.ConnectionFactory;
 import org.springframework.amqp.rabbit.core.RabbitAdmin;
 
-import static org.junit.Assert.fail;
-
 public class RabbitMQProducerInvalidExchangeIT extends RabbitMQITSupport {
 
     @Override
@@ -49,12 +48,9 @@ public class RabbitMQProducerInvalidExchangeIT extends RabbitMQITSupport {
         admin.declareExchange(t);
         admin.declareBinding(BindingBuilder.bind(q).to(t).with("foo.bar.#"));
 
-        try {
-            template.sendBody("direct:start", "Hello World");
-            fail("Should fail");
-        } catch (Exception e) {
-            Assertions.assertInstanceOf(ShutdownSignalException.class, e.getCause());
-        }
+        final CamelExecutionException exception = Assertions.assertThrows(CamelExecutionException.class,
+                () -> template.sendBody("direct:start", "Hello World"));
+        Assertions.assertInstanceOf(ShutdownSignalException.class, exception.getCause());
     }
 
     @Override