Fix Sonar vulnerabilities for varargs
* Fix smell for static `AmqpInboundGateway.attributesHolder` * Fix readOnlyHeaders in the `MessageBuilder`
This commit is contained in:
committed by
Gary Russell
parent
1d08d3bdc2
commit
315f0e711f
@@ -17,6 +17,7 @@
|
||||
package org.springframework.integration.channel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.integration.core.MessageSelector;
|
||||
@@ -40,6 +41,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Mark Fisher
|
||||
* @author Gary Russell
|
||||
* @author Artem Bilan
|
||||
*/
|
||||
public class ChannelPurger {
|
||||
|
||||
@@ -58,18 +60,18 @@ public class ChannelPurger {
|
||||
Assert.notNull(channels[0], "channel must not be null");
|
||||
}
|
||||
this.selector = selector;
|
||||
this.channels = channels;
|
||||
this.channels = Arrays.copyOf(channels, channels.length);
|
||||
}
|
||||
|
||||
|
||||
public final List<Message<?>> purge() {
|
||||
List<Message<?>> purgedMessages = new ArrayList<Message<?>>();
|
||||
List<Message<?>> purgedMessages = new ArrayList<>();
|
||||
for (QueueChannel channel : this.channels) {
|
||||
List<Message<?>> results = (this.selector == null) ?
|
||||
channel.clear() : channel.purge(this.selector);
|
||||
if (results != null) {
|
||||
purgedMessages.addAll(results);
|
||||
}
|
||||
List<Message<?>> results =
|
||||
this.selector == null
|
||||
? channel.clear()
|
||||
: channel.purge(this.selector);
|
||||
purgedMessages.addAll(results);
|
||||
}
|
||||
return purgedMessages;
|
||||
}
|
||||
|
||||
@@ -97,11 +97,11 @@ public class CacheRequestHandlerAdvice extends AbstractRequestHandlerAdvice
|
||||
* Create a {@link CacheRequestHandlerAdvice} instance based on the provided name of caches
|
||||
* and {@link CacheableOperation} as default one.
|
||||
* This can be overridden by the {@link #setCacheOperations}.
|
||||
* @param cacheNames the name of caches to use in the advice.
|
||||
* @param cacheNamesArg the name of caches to use in the advice.
|
||||
* @see #setCacheOperations
|
||||
*/
|
||||
public CacheRequestHandlerAdvice(String... cacheNames) {
|
||||
this.cacheNames = cacheNames;
|
||||
public CacheRequestHandlerAdvice(String... cacheNamesArg) {
|
||||
this.cacheNames = cacheNamesArg != null ? Arrays.copyOf(cacheNamesArg, cacheNamesArg.length) : null;
|
||||
CacheableOperation.Builder builder = new CacheableOperation.Builder();
|
||||
builder.setName(toString());
|
||||
this.cacheOperations.add(builder.build());
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.springframework.messaging.Message;
|
||||
/**
|
||||
* @author Gary Russell
|
||||
* @author Artem Bilan
|
||||
*
|
||||
* @since 4.0
|
||||
*
|
||||
*/
|
||||
@@ -39,7 +40,7 @@ public class DefaultMessageBuilderFactory implements MessageBuilderFactory {
|
||||
* @since 4.3.2
|
||||
*/
|
||||
public void setReadOnlyHeaders(String... readOnlyHeaders) {
|
||||
this.readOnlyHeaders = Arrays.copyOf(readOnlyHeaders, readOnlyHeaders.length);
|
||||
this.readOnlyHeaders = readOnlyHeaders != null ? Arrays.copyOf(readOnlyHeaders, readOnlyHeaders.length) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.integration.support;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -309,7 +310,7 @@ public final class MessageBuilder<T> extends AbstractIntegrationMessageBuilder<T
|
||||
* @see IntegrationMessageHeaderAccessor#isReadOnly(String)
|
||||
*/
|
||||
public MessageBuilder<T> readOnlyHeaders(String... readOnlyHeaders) {
|
||||
this.readOnlyHeaders = readOnlyHeaders;
|
||||
this.readOnlyHeaders = readOnlyHeaders != null ? Arrays.copyOf(readOnlyHeaders, readOnlyHeaders.length) : null;
|
||||
this.headerAccessor.setReadOnlyHeaders(readOnlyHeaders);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Gary Russell
|
||||
* @author Artem Bilan
|
||||
*
|
||||
* @since 3.0
|
||||
*
|
||||
*/
|
||||
@@ -76,7 +77,8 @@ public class MapMessageConverter implements MessageConverter, BeanFactoryAware {
|
||||
* @param headerNames The header names.
|
||||
*/
|
||||
public void setHeaderNames(String... headerNames) {
|
||||
this.headerNames = headerNames;
|
||||
Assert.notEmpty(headerNames, "at least one header name is required");
|
||||
this.headerNames = Arrays.copyOf(headerNames, headerNames.length);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,9 +118,9 @@ public class MapMessageConverter implements MessageConverter, BeanFactoryAware {
|
||||
@Nullable
|
||||
@Override
|
||||
public Object fromMessage(Message<?> message, Class<?> clazz) {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("payload", message.getPayload());
|
||||
Map<String, Object> headers = new HashMap<String, Object>();
|
||||
Map<String, Object> headers = new HashMap<>();
|
||||
for (String headerName : this.headerNames) {
|
||||
Object header = message.getHeaders().get(headerName);
|
||||
if (header != null) {
|
||||
|
||||
@@ -112,7 +112,8 @@ public final class JacksonJsonUtils {
|
||||
|
||||
WhitelistTypeResolverBuilder(String... trustedPackages) {
|
||||
super(ObjectMapper.DefaultTyping.NON_FINAL);
|
||||
this.trustedPackages = trustedPackages;
|
||||
this.trustedPackages =
|
||||
trustedPackages != null ? Arrays.copyOf(trustedPackages, trustedPackages.length) : null;
|
||||
|
||||
init(JsonTypeInfo.Id.CLASS, null)
|
||||
.inclusion(JsonTypeInfo.As.PROPERTY);
|
||||
|
||||
@@ -45,7 +45,7 @@ public class HeaderFilter extends IntegrationObjectSupport implements Transforme
|
||||
|
||||
public HeaderFilter(String... headersToRemove) {
|
||||
Assert.notEmpty(headersToRemove, "At least one header name to remove is required.");
|
||||
this.headersToRemove = headersToRemove;
|
||||
this.headersToRemove = Arrays.copyOf(headersToRemove, headersToRemove.length);
|
||||
}
|
||||
|
||||
public void setPatternMatch(boolean patternMatch) {
|
||||
@@ -75,7 +75,7 @@ public class HeaderFilter extends IntegrationObjectSupport implements Transforme
|
||||
|
||||
@Override
|
||||
public Message<?> transform(Message<?> message) {
|
||||
AbstractIntegrationMessageBuilder<?> builder = this.getMessageBuilderFactory().fromMessage(message);
|
||||
AbstractIntegrationMessageBuilder<?> builder = getMessageBuilderFactory().fromMessage(message);
|
||||
if (this.patternMatch) {
|
||||
builder.removeHeaders(this.headersToRemove);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user