Fix new Sonar smells

This commit is contained in:
Artem Bilan
2019-03-19 09:58:10 -04:00
committed by Gary Russell
parent 5421574ef5
commit 5b84936a40
3 changed files with 38 additions and 39 deletions

View File

@@ -146,23 +146,24 @@ public class JsonToObjectTransformer extends AbstractTransformer implements Bean
private ResolvableType obtainResolvableTypeFromHeadersIfAny(MessageHeaders headers) {
ResolvableType valueType = null;
if (headers.containsKey(JsonHeaders.TYPE_ID) || headers.containsKey(JsonHeaders.RESOLVABLE_TYPE)) {
valueType = headers.get(JsonHeaders.RESOLVABLE_TYPE, ResolvableType.class);
if (valueType == null) {
Class<?> targetClass = getClassForValue(headers.get(JsonHeaders.TYPE_ID));
Class<?> contentClass = null;
Class<?> keyClass = null;
if (headers.containsKey(JsonHeaders.CONTENT_TYPE_ID)) {
contentClass = getClassForValue(headers.get(JsonHeaders.CONTENT_TYPE_ID));
}
if (headers.containsKey(JsonHeaders.KEY_TYPE_ID)) {
keyClass = getClassForValue(headers.get(JsonHeaders.KEY_TYPE_ID));
}
valueType = JsonObjectMapper.buildResolvableType(targetClass, contentClass, keyClass);
ResolvableType valueType = headers.get(JsonHeaders.RESOLVABLE_TYPE, ResolvableType.class);
Object typeIdHeader = headers.get(JsonHeaders.TYPE_ID);
if (valueType == null && typeIdHeader != null) {
Class<?> targetClass = getClassForValue(typeIdHeader);
Class<?> contentClass = null;
Class<?> keyClass = null;
Object contentTypeHeader = headers.get(JsonHeaders.CONTENT_TYPE_ID);
if (contentTypeHeader != null) {
contentClass = getClassForValue(contentTypeHeader);
}
Object keyTypeHeader = headers.get(JsonHeaders.KEY_TYPE_ID);
if (keyTypeHeader != null) {
keyClass = getClassForValue(keyTypeHeader);
}
valueType = JsonObjectMapper.buildResolvableType(targetClass, contentClass, keyClass);
}
return valueType;
}

View File

@@ -120,11 +120,9 @@ public class ObjectToJsonTransformer extends AbstractTransformer {
headers.putAll(message.getHeaders());
if (headers.containsKey(MessageHeaders.CONTENT_TYPE)) {
if (this.contentTypeExplicitlySet) {
// override, unless empty
if (StringUtils.hasLength(this.contentType)) {
headers.put(MessageHeaders.CONTENT_TYPE, this.contentType);
}
// override, unless empty
if (this.contentTypeExplicitlySet && StringUtils.hasLength(this.contentType)) {
headers.put(MessageHeaders.CONTENT_TYPE, this.contentType);
}
}
else if (StringUtils.hasLength(this.contentType)) {

View File

@@ -1038,26 +1038,10 @@ public class IntegrationMBeanExporter extends MBeanExporter implements Applicati
String endpointName = null;
String source = "endpoint";
Object endpoint = null;
AbstractEndpoint endpoint = getEndpointForMonitor(monitor);
String[] names = this.applicationContext.getBeanNamesForType(AbstractEndpoint.class);
for (String beanName : names) {
endpoint = this.applicationContext.getBean(beanName);
Object target = null;
if (monitor instanceof MessagingGatewaySupport && endpoint.equals(monitor)) {
target = monitor;
}
else if (endpoint instanceof SourcePollingChannelAdapter) {
target = ((SourcePollingChannelAdapter) endpoint).getMessageSource();
}
if (monitor.equals(target)) {
endpointName = beanName;
break;
}
}
if (endpointName == null) {
endpoint = null;
if (endpoint != null) {
endpointName = endpoint.getBeanName();
}
if (endpointName != null && endpointName.startsWith('_' + SI_PACKAGE)) {
endpointName = getInternalComponentName(endpointName);
@@ -1072,6 +1056,22 @@ public class IntegrationMBeanExporter extends MBeanExporter implements Applicati
return messageSourceMetrics;
}
private AbstractEndpoint getEndpointForMonitor(MessageSourceMetrics monitor) {
for (AbstractEndpoint endpoint : this.applicationContext.getBeansOfType(AbstractEndpoint.class).values()) {
Object target = null;
if (monitor instanceof MessagingGatewaySupport && endpoint.equals(monitor)) {
target = monitor;
}
else if (endpoint instanceof SourcePollingChannelAdapter) {
target = ((SourcePollingChannelAdapter) endpoint).getMessageSource();
}
if (monitor.equals(target)) {
return endpoint;
}
}
return null;
}
private MessageSourceMetrics buildMessageSourceMetricsIfAny(MessageSourceMetrics monitor, String name,
String source, Object endpoint) {