Fix Sonar complexity issues

Address a few complexity issues.
This commit is contained in:
Gary Russell
2019-04-25 14:04:31 -04:00
committed by Artem Bilan
parent 9072e925e9
commit c570bee197
3 changed files with 108 additions and 170 deletions

View File

@@ -105,6 +105,18 @@ public abstract class AbstractAggregatingMessageGroupProcessor implements Messag
*/
protected Map<String, Object> aggregateHeaders(MessageGroup group) {
Map<String, Object> aggregatedHeaders = new HashMap<>();
Set<String> conflictKeys = doAggregateHeaders(group, aggregatedHeaders);
for (String keyToRemove : conflictKeys) {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Excluding header '" + keyToRemove + "' upon aggregation due to conflict(s) "
+ "in MessageGroup with correlation key: " + group.getGroupId());
}
aggregatedHeaders.remove(keyToRemove);
}
return aggregatedHeaders;
}
private Set<String> doAggregateHeaders(MessageGroup group, Map<String, Object> aggregatedHeaders) {
Set<String> conflictKeys = new HashSet<>();
for (Message<?> message : group.getMessages()) {
for (Entry<String, Object> entry : message.getHeaders().entrySet()) {
@@ -126,14 +138,7 @@ public abstract class AbstractAggregatingMessageGroupProcessor implements Messag
}
}
}
for (String keyToRemove : conflictKeys) {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Excluding header '" + keyToRemove + "' upon aggregation due to conflict(s) "
+ "in MessageGroup with correlation key: " + group.getGroupId());
}
aggregatedHeaders.remove(keyToRemove);
}
return aggregatedHeaders;
return conflictKeys;
}
protected abstract Object aggregatePayloads(MessageGroup group, Map<String, Object> defaultHeaders);

View File

@@ -643,7 +643,7 @@ public abstract class AbstractCorrelatingMessageHandler extends AbstractMessageP
afterRelease(group, completedMessages);
}
protected void forceComplete(MessageGroup group) {
protected void forceComplete(MessageGroup group) { // NOSONAR Complexity
Object correlationKey = group.getGroupId();
// UUIDConverter is no-op if already converted
UUID groupId = UUIDConverter.getUUID(correlationKey);
@@ -737,7 +737,7 @@ public abstract class AbstractCorrelatingMessageHandler extends AbstractMessageP
}
}
}
catch (InterruptedException ie) {
catch (@SuppressWarnings("unused") InterruptedException ie) {
Thread.currentThread().interrupt();
this.logger.debug("Thread was interrupted while trying to obtain lock");
}
@@ -748,7 +748,9 @@ public abstract class AbstractCorrelatingMessageHandler extends AbstractMessageP
this.messageStore.removeMessageGroup(correlationKey);
}
protected int findLastReleasedSequenceNumber(Object groupId, Collection<Message<?>> partialSequence) {
protected int findLastReleasedSequenceNumber(@SuppressWarnings("unused") Object groupId,
Collection<Message<?>> partialSequence) {
Message<?> lastReleasedMessage = Collections.max(partialSequence, this.sequenceNumberComparator);
return new IntegrationMessageHeaderAccessor(lastReleasedMessage).getSequenceNumber();
}