From 34d2b0904f85e6f20cdf2eb980d0608fcda42d16 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Thu, 7 Oct 2021 10:59:43 -0400 Subject: [PATCH] Fix new Sonar smells --- .../dsl/KafkaProducerMessageHandlerSpec.java | 26 +++++++++---------- .../kafka/inbound/KafkaMessageSource.java | 6 ++--- .../MqttPahoMessageDrivenChannelAdapter.java | 2 +- .../mqtt/support/MqttHeaderMapper.java | 9 +++++-- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/dsl/KafkaProducerMessageHandlerSpec.java b/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/dsl/KafkaProducerMessageHandlerSpec.java index 96aeccacbc..cda980f045 100644 --- a/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/dsl/KafkaProducerMessageHandlerSpec.java +++ b/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/dsl/KafkaProducerMessageHandlerSpec.java @@ -21,8 +21,6 @@ import java.util.Map; import java.util.function.Consumer; import java.util.function.Function; -import org.apache.kafka.clients.producer.ProducerRecord; - import org.springframework.expression.Expression; import org.springframework.expression.common.LiteralExpression; import org.springframework.integration.dsl.ComponentsRegistration; @@ -239,8 +237,8 @@ public class KafkaProducerMessageHandlerSpec * {@code @@ -268,8 +266,8 @@ public class KafkaProducerMessageHandlerSpec the key type. * @param the value type. */ - public static class KafkaProducerMessageHandlerTemplateSpec extends KafkaProducerMessageHandlerSpec> + public static class KafkaProducerMessageHandlerTemplateSpec + extends KafkaProducerMessageHandlerSpec> implements ComponentsRegistration { private final KafkaTemplateSpec kafkaTemplateSpec; @@ -428,6 +427,7 @@ public class KafkaProducerMessageHandlerSpec configureKafkaTemplate( Consumer> configurer) { + Assert.notNull(configurer, "The 'configurer' cannot be null"); configurer.accept(this.kafkaTemplateSpec); return _this(); diff --git a/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java b/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java index 88c0d7c8ca..e706b28f96 100644 --- a/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java +++ b/spring-integration-kafka/src/main/java/org/springframework/integration/kafka/inbound/KafkaMessageSource.java @@ -138,8 +138,6 @@ public class KafkaMessageSource extends AbstractMessageSource impl private Duration closeTimeout = Duration.ofSeconds(DEFAULT_CLOSE_TIMEOUT); - public boolean newAssignment; - private volatile Consumer consumer; private volatile boolean pausing; @@ -150,6 +148,8 @@ public class KafkaMessageSource extends AbstractMessageSource impl private volatile boolean stopped; + public volatile boolean newAssignment; // NOSONAR - direct access from inner + /** * Construct an instance with the supplied parameters. Fetching multiple * records per poll will be disabled. @@ -415,7 +415,7 @@ public class KafkaMessageSource extends AbstractMessageSource impl return this.paused; } - @Override + @Override // NOSONAR - not so complex protected synchronized Object doReceive() { if (this.stopped) { this.logger.debug("Message source is stopped; no records will be returned"); diff --git a/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/MqttPahoMessageDrivenChannelAdapter.java b/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/MqttPahoMessageDrivenChannelAdapter.java index 6d6856f84c..5978d74c2c 100644 --- a/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/MqttPahoMessageDrivenChannelAdapter.java +++ b/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/inbound/MqttPahoMessageDrivenChannelAdapter.java @@ -254,7 +254,7 @@ public class MqttPahoMessageDrivenChannelAdapter extends AbstractMqttMessageDriv } } - private synchronized void connectAndSubscribe() throws MqttException { + private synchronized void connectAndSubscribe() throws MqttException { // NOSONAR MqttConnectOptions connectionOptions = this.clientFactory.getConnectionOptions(); this.cleanSession = connectionOptions.isCleanSession(); this.consumerStopAction = this.clientFactory.getConsumerStopAction(); diff --git a/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/support/MqttHeaderMapper.java b/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/support/MqttHeaderMapper.java index 252ff8e243..2920aadfdb 100644 --- a/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/support/MqttHeaderMapper.java +++ b/spring-integration-mqtt/src/main/java/org/springframework/integration/mqtt/support/MqttHeaderMapper.java @@ -17,6 +17,7 @@ package org.springframework.integration.mqtt.support; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -61,7 +62,9 @@ public class MqttHeaderMapper implements HeaderMapper { */ public void setInboundHeaderNames(String... inboundHeaderNames) { Assert.notNull(inboundHeaderNames, "'inboundHeaderNames' must not be null"); - this.inboundHeaderNames = inboundHeaderNames; + String[] copy = Arrays.copyOf(inboundHeaderNames, inboundHeaderNames.length); + Arrays.sort(copy); + this.inboundHeaderNames = copy; } /** @@ -73,7 +76,9 @@ public class MqttHeaderMapper implements HeaderMapper { */ public void setOutboundHeaderNames(String... outboundHeaderNames) { Assert.notNull(outboundHeaderNames, "'outboundHeaderNames' must not be null"); - this.outboundHeaderNames = outboundHeaderNames; + String[] copy = Arrays.copyOf(outboundHeaderNames, outboundHeaderNames.length); + Arrays.sort(copy); + this.outboundHeaderNames = copy; } @Override