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:01:01 UTC
(camel) 02/02: (chores) camel-spring-rabbitmq: cleaned up duplicated code
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/>