Sonar fixes

Critical smells `0.s.i.r*`

* Polishing - PR Comments.
This commit is contained in:
Gary Russell
2018-12-19 09:47:57 -05:00
committed by Artem Bilan
parent 271181247d
commit e8bd31cc37
9 changed files with 130 additions and 60 deletions

View File

@@ -17,6 +17,7 @@
package org.springframework.integration.context;
import java.util.Properties;
import java.util.UUID;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -44,7 +45,9 @@ import org.springframework.integration.support.utils.IntegrationUtils;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.core.DestinationResolver;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.util.AlternativeJdkIdGenerator;
import org.springframework.util.Assert;
import org.springframework.util.IdGenerator;
import org.springframework.util.StringUtils;
/**
@@ -68,10 +71,12 @@ public abstract class IntegrationObjectSupport implements BeanNameAware, NamedCo
protected static final ExpressionParser EXPRESSION_PARSER = new SpelExpressionParser();
private static final IdGenerator idGenerator = new AlternativeJdkIdGenerator(); // NOSONAR lower case
/**
* Logger that is available to subclasses
*/
protected final Log logger = LogFactory.getLog(getClass());
protected final Log logger = LogFactory.getLog(getClass()); // NOSONAR protected
private final ConversionService defaultConversionService = DefaultConversionService.getSharedInstance();
@@ -312,4 +317,8 @@ public abstract class IntegrationObjectSupport implements BeanNameAware, NamedCo
return (this.beanName != null) ? this.beanName : super.toString();
}
public static UUID generateId() {
return idGenerator.generateId();
}
}

View File

@@ -293,7 +293,10 @@ public abstract class AbstractMappingMessageRouter extends AbstractMessageRouter
addToCollection(channels, (Collection<?>) channelKey, message);
}
else if (getRequiredConversionService().canConvert(channelKey.getClass(), String.class)) {
addChannelFromString(channels, getConversionService().convert(channelKey, String.class), message);
String converted = getConversionService().convert(channelKey, String.class);
if (converted != null) {
addChannelFromString(channels, converted, message);
}
}
else {
throw new MessagingException("unsupported return type for router [" + channelKey.getClass() + "]");

View File

@@ -17,6 +17,7 @@
package org.springframework.integration.router;
import java.util.Collection;
import java.util.UUID;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.support.DefaultConversionService;
@@ -171,24 +172,20 @@ public abstract class AbstractMessageRouter extends AbstractMessageHandler imple
int sequenceSize = results.size();
int sequenceNumber = 1;
for (MessageChannel channel : results) {
final Message<?> messageToSend =
!this.applySequence ? message : (this.getMessageBuilderFactory()
final Message<?> messageToSend;
if (!this.applySequence) {
messageToSend = message;
}
else {
UUID id = message.getHeaders().getId();
messageToSend = getMessageBuilderFactory()
.fromMessage(message)
.pushSequenceDetails(message.getHeaders().getId(), sequenceNumber++, sequenceSize)
.build());
.pushSequenceDetails(id == null ? generateId() : id,
sequenceNumber++, sequenceSize)
.build();
}
if (channel != null) {
try {
this.messagingTemplate.send(channel, messageToSend);
sent = true;
}
catch (MessagingException e) {
if (!this.ignoreSendFailures) {
throw e;
}
else if (this.logger.isDebugEnabled()) {
this.logger.debug(e);
}
}
sent |= doSend(channel, messageToSend);
}
}
}
@@ -204,4 +201,18 @@ public abstract class AbstractMessageRouter extends AbstractMessageHandler imple
}
}
private boolean doSend(MessageChannel channel, final Message<?> messageToSend) {
try {
this.messagingTemplate.send(channel, messageToSend);
return true;
}
catch (MessagingException e) {
if (!this.ignoreSendFailures) {
throw e;
}
this.logger.debug("Send failure ignored", e);
return false;
}
}
}