Sonar fixes
Critical smells `o.s.i.m*`.
This commit is contained in:
committed by
Artem Bilan
parent
3f48d2043b
commit
65df35bfd1
@@ -507,6 +507,7 @@ public abstract class MessagingGatewaySupport extends AbstractEndpoint
|
||||
else {
|
||||
requestMessage = (object instanceof Message<?>)
|
||||
? (Message<?>) object : this.requestMapper.toMessage(object);
|
||||
Assert.state(requestMessage != null, () -> "request mapper resulted in no message for " + object);
|
||||
requestMessage = this.historyWritingPostProcessor.postProcessMessage(requestMessage);
|
||||
reply = this.messagingTemplate.sendAndReceive(requestChannel, requestMessage);
|
||||
if (reply instanceof ErrorMessage) {
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
|
||||
package org.springframework.integration.mapping;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.lang.NonNull;
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.messaging.Message;
|
||||
|
||||
/**
|
||||
* An {@link OutboundMessageMapper} and {@link InboundMessageMapper} that
|
||||
* maps to/from {@code byte[]}.
|
||||
@@ -26,4 +32,14 @@ package org.springframework.integration.mapping;
|
||||
*/
|
||||
public interface BytesMessageMapper extends InboundMessageMapper<byte[]>, OutboundMessageMapper<byte[]> {
|
||||
|
||||
@Override
|
||||
@NonNull // override
|
||||
default Message<?> toMessage(byte[] object) {
|
||||
return toMessage(object, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull // override
|
||||
Message<?> toMessage(byte[] bytes, @Nullable Map<String, Object> headers);
|
||||
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.springframework.messaging.Message;
|
||||
*
|
||||
* @author Mark Fisher
|
||||
* @author Artem Bilan
|
||||
* @author Gary Russell
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface InboundMessageMapper<T> {
|
||||
@@ -36,7 +37,8 @@ public interface InboundMessageMapper<T> {
|
||||
* @return the message as a result of mapping
|
||||
* @throws Exception the exception thrown by the underlying mapper implementation
|
||||
*/
|
||||
default Message<?> toMessage(T object) throws Exception {
|
||||
@Nullable
|
||||
default Message<?> toMessage(T object) throws Exception { // NOSONAR - TODO remove Exception in 5.2
|
||||
return toMessage(object, null);
|
||||
}
|
||||
|
||||
@@ -50,6 +52,6 @@ public interface InboundMessageMapper<T> {
|
||||
* @since 5.0
|
||||
*/
|
||||
@Nullable
|
||||
Message<?> toMessage(T object, @Nullable Map<String, Object> headers) throws Exception;
|
||||
Message<?> toMessage(T object, @Nullable Map<String, Object> headers) throws Exception; // NOSONAR
|
||||
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.integration.support.json;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
@@ -229,11 +230,12 @@ public class EmbeddedJsonHeadersMessageMapper implements BytesMessageMapper {
|
||||
return message;
|
||||
}
|
||||
else {
|
||||
return new GenericMessage<>(bytes, headers);
|
||||
return headers == null ? new GenericMessage<>(bytes) : new GenericMessage<>(bytes, headers);
|
||||
}
|
||||
}
|
||||
|
||||
private Message<?> decodeNativeFormat(byte[] bytes, Map<String, Object> headersToAdd) throws Exception {
|
||||
@Nullable
|
||||
private Message<?> decodeNativeFormat(byte[] bytes, @Nullable Map<String, Object> headersToAdd) throws IOException {
|
||||
ByteBuffer buffer = ByteBuffer.wrap(bytes);
|
||||
if (buffer.remaining() > 4) {
|
||||
int headersLen = buffer.getInt();
|
||||
|
||||
@@ -846,9 +846,6 @@ public class IntegrationMBeanExporter extends MBeanExporter implements Applicati
|
||||
return bean;
|
||||
}
|
||||
Advised advised = (Advised) bean;
|
||||
if (advised.getTargetSource() == null) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return extractTarget(advised.getTargetSource().getTarget());
|
||||
}
|
||||
@@ -1075,7 +1072,7 @@ public class IntegrationMBeanExporter extends MBeanExporter implements Applicati
|
||||
if (target instanceof MessagingGatewaySupport) {
|
||||
outputChannel = ((MessagingGatewaySupport) target).getRequestChannel();
|
||||
}
|
||||
else {
|
||||
else if (target instanceof SourcePollingChannelAdapter) {
|
||||
outputChannel = ((SourcePollingChannelAdapter) target).getOutputChannel();
|
||||
}
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ public abstract class AbstractConfigurableMongoDbMessageStore extends AbstractMe
|
||||
new Update().inc(MessageDocumentFields.SEQUENCE, 1),
|
||||
FindAndModifyOptions.options().returnNew(true).upsert(true),
|
||||
Map.class, this.collectionName)
|
||||
.get(MessageDocumentFields.SEQUENCE);
|
||||
.get(MessageDocumentFields.SEQUENCE); // NOSONAR - never returns null
|
||||
}
|
||||
|
||||
protected void addMessageDocument(final MessageDocument document) {
|
||||
|
||||
@@ -473,7 +473,7 @@ public class MongoDbMessageStore extends AbstractMessageGroupStore
|
||||
new Update().inc(SEQUENCE, 1),
|
||||
FindAndModifyOptions.options().returnNew(true).upsert(true),
|
||||
Map.class,
|
||||
this.collectionName).get(SEQUENCE);
|
||||
this.collectionName).get(SEQUENCE); // NOSONAR - never returns null
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -481,8 +481,14 @@ public class MongoDbMessageStore extends AbstractMessageGroupStore
|
||||
Map<String, Object> innerMap =
|
||||
(Map<String, Object>) new DirectFieldAccessor(messageHeaders).getPropertyValue("headers");
|
||||
// using reflection to set ID and TIMESTAMP since they are immutable through MessageHeaders
|
||||
innerMap.put(MessageHeaders.ID, headers.get(MessageHeaders.ID));
|
||||
innerMap.put(MessageHeaders.TIMESTAMP, headers.get(MessageHeaders.TIMESTAMP));
|
||||
Object idHeader = headers.get(MessageHeaders.ID);
|
||||
if (idHeader != null) {
|
||||
innerMap.put(MessageHeaders.ID, idHeader);
|
||||
}
|
||||
Object tsHeader = headers.get(MessageHeaders.TIMESTAMP);
|
||||
if (tsHeader != null) {
|
||||
innerMap.put(MessageHeaders.TIMESTAMP, tsHeader);
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -760,7 +766,7 @@ public class MongoDbMessageStore extends AbstractMessageGroupStore
|
||||
MongoDbMessageStore.this.converter.normalizeHeaders((Map<String, Object>) source.get("headers"));
|
||||
|
||||
Object payload = this.deserializingConverter.convert(((Binary) source.get("payload")).getData());
|
||||
ErrorMessage message = new ErrorMessage((Throwable) payload, headers);
|
||||
ErrorMessage message = new ErrorMessage((Throwable) payload, headers); // NOSONAR not null
|
||||
enhanceHeaders(message.getHeaders(), headers);
|
||||
|
||||
return message;
|
||||
|
||||
@@ -59,6 +59,9 @@ public class MongoDbMessageBytesConverter implements GenericConverter {
|
||||
|
||||
@Override
|
||||
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
|
||||
if (source == null) {
|
||||
return null;
|
||||
}
|
||||
if (Message.class.isAssignableFrom(sourceType.getObjectType())) {
|
||||
return new Binary(this.serializingConverter.convert(source));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user