Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray` or zero length when converting collections to arrays. Fixes gh-12160
This commit is contained in:
@@ -27,6 +27,7 @@ import org.springframework.boot.actuate.health.AbstractHealthIndicator;
|
||||
import org.springframework.boot.actuate.health.Health;
|
||||
import org.springframework.boot.actuate.health.HealthIndicator;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* {@link HealthIndicator} for an Elasticsearch cluster.
|
||||
@@ -53,8 +54,8 @@ public class ElasticsearchHealthIndicator extends AbstractHealthIndicator {
|
||||
*/
|
||||
public ElasticsearchHealthIndicator(Client client, long responseTimeout,
|
||||
List<String> indices) {
|
||||
this(client, responseTimeout, (indices == null ? null
|
||||
: indices.toArray(new String[indices.size()])));
|
||||
this(client, responseTimeout,
|
||||
(indices == null ? null : StringUtils.toStringArray(indices)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -94,23 +94,18 @@ public class JerseyEndpointResourceFactory {
|
||||
Builder resourceBuilder = Resource.builder()
|
||||
.path(endpointMapping.createSubPath(requestPredicate.getPath()));
|
||||
resourceBuilder.addMethod(requestPredicate.getHttpMethod().name())
|
||||
.consumes(toStringArray(requestPredicate.getConsumes()))
|
||||
.produces(toStringArray(requestPredicate.getProduces()))
|
||||
.consumes(StringUtils.toStringArray(requestPredicate.getConsumes()))
|
||||
.produces(StringUtils.toStringArray(requestPredicate.getProduces()))
|
||||
.handledBy(new OperationInflector(operation,
|
||||
!requestPredicate.getConsumes().isEmpty()));
|
||||
return resourceBuilder.build();
|
||||
}
|
||||
|
||||
private String[] toStringArray(Collection<String> collection) {
|
||||
return collection.toArray(new String[collection.size()]);
|
||||
}
|
||||
|
||||
private Resource createEndpointLinksResource(String endpointPath,
|
||||
EndpointMediaTypes endpointMediaTypes, EndpointLinksResolver linksResolver) {
|
||||
Builder resourceBuilder = Resource.builder().path(endpointPath);
|
||||
resourceBuilder.addMethod("GET")
|
||||
.produces(endpointMediaTypes.getProduced()
|
||||
.toArray(new String[endpointMediaTypes.getProduced().size()]))
|
||||
.produces(StringUtils.toStringArray(endpointMediaTypes.getProduced()))
|
||||
.handledBy(new EndpointLinksInflector(linksResolver));
|
||||
return resourceBuilder.build();
|
||||
}
|
||||
|
||||
@@ -167,25 +167,20 @@ public abstract class AbstractWebFluxEndpointHandlerMapping
|
||||
RequestMethodsRequestCondition methods = new RequestMethodsRequestCondition(
|
||||
RequestMethod.valueOf(predicate.getHttpMethod().name()));
|
||||
ConsumesRequestCondition consumes = new ConsumesRequestCondition(
|
||||
toStringArray(predicate.getConsumes()));
|
||||
StringUtils.toStringArray(predicate.getConsumes()));
|
||||
ProducesRequestCondition produces = new ProducesRequestCondition(
|
||||
toStringArray(predicate.getProduces()));
|
||||
StringUtils.toStringArray(predicate.getProduces()));
|
||||
return new RequestMappingInfo(null, patterns, methods, null, null, consumes,
|
||||
produces, null);
|
||||
}
|
||||
|
||||
private String[] toStringArray(Collection<String> collection) {
|
||||
return collection.toArray(new String[collection.size()]);
|
||||
}
|
||||
|
||||
private void registerLinksMapping() {
|
||||
PatternsRequestCondition patterns = new PatternsRequestCondition(
|
||||
pathPatternParser.parse(this.endpointMapping.getPath()));
|
||||
RequestMethodsRequestCondition methods = new RequestMethodsRequestCondition(
|
||||
RequestMethod.GET);
|
||||
ProducesRequestCondition produces = new ProducesRequestCondition(
|
||||
this.endpointMediaTypes.getProduced().toArray(
|
||||
new String[this.endpointMediaTypes.getProduced().size()]));
|
||||
StringUtils.toStringArray(this.endpointMediaTypes.getProduced()));
|
||||
RequestMappingInfo mapping = new RequestMappingInfo(patterns, methods, null, null,
|
||||
null, produces, null);
|
||||
registerMapping(mapping, this, this.linksMethod);
|
||||
|
||||
@@ -155,24 +155,20 @@ public abstract class AbstractWebMvcEndpointHandlerMapping
|
||||
RequestMethodsRequestCondition methods = new RequestMethodsRequestCondition(
|
||||
RequestMethod.valueOf(predicate.getHttpMethod().name()));
|
||||
ConsumesRequestCondition consumes = new ConsumesRequestCondition(
|
||||
toStringArray(predicate.getConsumes()));
|
||||
StringUtils.toStringArray(predicate.getConsumes()));
|
||||
ProducesRequestCondition produces = new ProducesRequestCondition(
|
||||
toStringArray(predicate.getProduces()));
|
||||
StringUtils.toStringArray(predicate.getProduces()));
|
||||
return new RequestMappingInfo(null, patterns, methods, null, null, consumes,
|
||||
produces, null);
|
||||
}
|
||||
|
||||
private String[] toStringArray(Collection<String> collection) {
|
||||
return collection.toArray(new String[collection.size()]);
|
||||
}
|
||||
|
||||
private void registerLinksMapping() {
|
||||
PatternsRequestCondition patterns = patternsRequestConditionForPattern("");
|
||||
RequestMethodsRequestCondition methods = new RequestMethodsRequestCondition(
|
||||
RequestMethod.GET);
|
||||
ProducesRequestCondition produces = new ProducesRequestCondition(
|
||||
this.endpointMediaTypes.getProduced().toArray(
|
||||
new String[this.endpointMediaTypes.getProduced().size()]));
|
||||
this.endpointMediaTypes.getProduced().toArray(StringUtils
|
||||
.toStringArray(this.endpointMediaTypes.getProduced())));
|
||||
RequestMappingInfo mapping = new RequestMappingInfo(patterns, methods, null, null,
|
||||
null, produces, null);
|
||||
registerMapping(mapping, this, this.linksMethod);
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -177,8 +178,7 @@ public class ConfigurationPropertiesReportEndpointTests {
|
||||
ConfigurationPropertiesReportEndpoint endpoint = context
|
||||
.getBean(ConfigurationPropertiesReportEndpoint.class);
|
||||
if (!CollectionUtils.isEmpty(keysToSanitize)) {
|
||||
endpoint.setKeysToSanitize(
|
||||
keysToSanitize.toArray(new String[keysToSanitize.size()]));
|
||||
endpoint.setKeysToSanitize(StringUtils.toStringArray(keysToSanitize));
|
||||
}
|
||||
properties.accept(context, endpoint.configurationProperties().getContexts()
|
||||
.get(context.getId()));
|
||||
|
||||
@@ -264,7 +264,7 @@ public class EndpointDiscovererTests {
|
||||
methods.add(findTestEndpointMethod("getOne", String.class));
|
||||
methods.add(findTestEndpointMethod("update", String.class, String.class));
|
||||
methods.add(findTestEndpointMethod("deleteOne", String.class));
|
||||
return methods.toArray(new Method[] {});
|
||||
return methods.toArray(new Method[0]);
|
||||
}
|
||||
|
||||
private Method findTestEndpointMethod(String name, Class<?>... paramTypes) {
|
||||
|
||||
@@ -47,6 +47,7 @@ import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.util.ClassUtils;
|
||||
|
||||
/**
|
||||
* {@link BlockJUnit4ClassRunner} for Jersey.
|
||||
@@ -63,7 +64,7 @@ class JerseyEndpointsRunner extends AbstractWebEndpointRunner {
|
||||
private static ConfigurableApplicationContext createContext(List<Class<?>> classes) {
|
||||
AnnotationConfigServletWebServerApplicationContext context = new AnnotationConfigServletWebServerApplicationContext();
|
||||
classes.add(JerseyEndpointConfiguration.class);
|
||||
context.register(classes.toArray(new Class<?>[classes.size()]));
|
||||
context.register(ClassUtils.toClassArray(classes));
|
||||
context.refresh();
|
||||
return context;
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.server.reactive.HttpHandler;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.web.cors.CorsConfiguration;
|
||||
import org.springframework.web.server.adapter.WebHttpHandlerBuilder;
|
||||
|
||||
@@ -62,7 +63,7 @@ class WebFluxEndpointsRunner extends AbstractWebEndpointRunner {
|
||||
private static ConfigurableApplicationContext createContext(List<Class<?>> classes) {
|
||||
AnnotationConfigReactiveWebServerApplicationContext context = new AnnotationConfigReactiveWebServerApplicationContext();
|
||||
classes.add(WebFluxEndpointConfiguration.class);
|
||||
context.register(classes.toArray(new Class<?>[classes.size()]));
|
||||
context.register(ClassUtils.toClassArray(classes));
|
||||
context.refresh();
|
||||
return context;
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.web.cors.CorsConfiguration;
|
||||
|
||||
/**
|
||||
@@ -60,7 +61,7 @@ class WebMvcEndpointRunner extends AbstractWebEndpointRunner {
|
||||
private static ConfigurableApplicationContext createContext(List<Class<?>> classes) {
|
||||
AnnotationConfigServletWebServerApplicationContext context = new AnnotationConfigServletWebServerApplicationContext();
|
||||
classes.add(WebMvcEndpointConfiguration.class);
|
||||
context.register(classes.toArray(new Class<?>[classes.size()]));
|
||||
context.register(ClassUtils.toClassArray(classes));
|
||||
context.refresh();
|
||||
return context;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user