From 978724e212fbb3e4434216f7b79e4b5d36db287c Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Wed, 2 Nov 2022 17:49:02 -0400 Subject: [PATCH] Fix some issue from Sonar report --- .../cassandra/outbound/CassandraMessageHandler.java | 2 +- .../integration/aot/CoreRuntimeHints.java | 2 +- .../config/IntegrationManagementConfigurer.java | 3 ++- .../integration/gateway/MessagingGatewaySupport.java | 12 ++++++++---- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/spring-integration-cassandra/src/main/java/org/springframework/integration/cassandra/outbound/CassandraMessageHandler.java b/spring-integration-cassandra/src/main/java/org/springframework/integration/cassandra/outbound/CassandraMessageHandler.java index 14325a400a..281ad43b20 100644 --- a/spring-integration-cassandra/src/main/java/org/springframework/integration/cassandra/outbound/CassandraMessageHandler.java +++ b/spring-integration-cassandra/src/main/java/org/springframework/integration/cassandra/outbound/CassandraMessageHandler.java @@ -190,7 +190,7 @@ public class CassandraMessageHandler extends AbstractReplyProducingMessageHandle protected Object handleRequestMessage(Message requestMessage) { Object payload = requestMessage.getPayload(); - Type modeToUse = payload instanceof Statement ? modeToUse = Type.STATEMENT : this.mode; + Type modeToUse = payload instanceof Statement ? Type.STATEMENT : this.mode; Mono result = switch (modeToUse) { diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java b/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java index 5f0face84b..a26437e673 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java @@ -115,7 +115,7 @@ class CoreRuntimeHints implements RuntimeHintsRegistrar { ArrayList.class, HashMap.class, Properties.class, - Hashtable.class, + Hashtable.class, // NOSONAR Exception.class, UUID.class, GenericMessage.class, diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java b/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java index bca7f98ae0..0cc75ad78e 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java @@ -16,6 +16,7 @@ package org.springframework.integration.config; +import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -148,7 +149,7 @@ public class IntegrationManagementConfigurer */ public void setObservationPatterns(String... observationPatterns) { Assert.notEmpty(observationPatterns, "'observationPatterns' must not be empty"); - this.observationPatterns = observationPatterns; + this.observationPatterns = Arrays.copyOf(observationPatterns, observationPatterns.length); } @Override diff --git a/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java b/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java index 333e31d686..bd6142e47e 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/gateway/MessagingGatewaySupport.java @@ -542,7 +542,7 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint requestMessage = convertToRequestMessage(object, shouldConvert); Message replyMessage; - if (this.observationRegistry != ObservationRegistry.NOOP) { + if (!ObservationRegistry.NOOP.equals(this.observationRegistry)) { replyMessage = sendAndReceiveWithObservation(channel, object, requestMessage); } else if (this.metricsCaptor != null) { @@ -553,7 +553,7 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint } reply = replyMessage; - if (shouldConvert) { + if (replyMessage != null && shouldConvert) { reply = this.messagingTemplate.getMessageConverter().fromMessage(replyMessage, Object.class); } } @@ -595,11 +595,14 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint () -> context, this.observationRegistry) .observe(() -> { Message replyMessage = doSendAndReceive(requestChannel, object, requestMessage); - context.setResponse(replyMessage); + if (replyMessage != null) { + context.setResponse(replyMessage); + } return replyMessage; }); } + @Nullable private Message sendAndReceiveWithMetrics(MessageChannel requestChannel, Object object, Message requestMessage) { @@ -609,12 +612,13 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint sample.stop(sendTimer()); return replyMessage; } - catch (Throwable ex) { + catch (Exception ex) { sample.stop(buildSendTimer(false, ex.getClass().getSimpleName())); throw ex; } } + @Nullable private Message doSendAndReceive(MessageChannel requestChannel, Object object, Message requestMessage) { Message replyMessage = this.messagingTemplate.sendAndReceive(requestChannel, requestMessage); if (replyMessage == null && this.errorOnTimeout) {