Merge branch '3.2.x'

Closes gh-40166
This commit is contained in:
Scott Frederick 2024-04-03 16:32:13 -05:00
commit 813507b791
23 changed files with 76 additions and 78 deletions

View File

@ -40,9 +40,8 @@ abstract class AbstractDependencyVersion implements DependencyVersion {
@Override
public boolean isUpgrade(DependencyVersion candidate, boolean movingToSnapshots) {
ComparableVersion comparableCandidate = (candidate instanceof AbstractDependencyVersion)
? ((AbstractDependencyVersion) candidate).comparableVersion
: new ComparableVersion(candidate.toString());
ComparableVersion comparableCandidate = (candidate instanceof AbstractDependencyVersion abstractDependencyVersion)
? abstractDependencyVersion.comparableVersion : new ComparableVersion(candidate.toString());
return comparableCandidate.compareTo(this.comparableVersion) > 0;
}

View File

@ -66,8 +66,8 @@ class HttpGraphQlTesterContextCustomizer implements ContextCustomizer {
private void registerHttpGraphQlTester(ConfigurableApplicationContext context) {
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
if (beanFactory instanceof BeanDefinitionRegistry) {
registerHttpGraphQlTester((BeanDefinitionRegistry) beanFactory);
if (beanFactory instanceof BeanDefinitionRegistry beanDefinitionRegistry) {
registerHttpGraphQlTester(beanDefinitionRegistry);
}
}

View File

@ -116,8 +116,8 @@ final class ModifiedClassPathClassLoader extends URLClassLoader {
private static Collection<AnnotatedElement> getAnnotatedElements(Object[] array) {
Set<AnnotatedElement> result = new LinkedHashSet<>();
for (Object item : array) {
if (item instanceof AnnotatedElement) {
result.add((AnnotatedElement) item);
if (item instanceof AnnotatedElement annotatedElement) {
result.add(annotatedElement);
}
else if (ObjectUtils.isArray(item)) {
result.addAll(getAnnotatedElements(ObjectUtils.toObjectArray(item)));

View File

@ -305,8 +305,8 @@ class BeanDefinitionLoader {
ClassExcludeFilter(Object... sources) {
super(false, false);
for (Object source : sources) {
if (source instanceof Class<?>) {
this.classNames.add(((Class<?>) source).getName());
if (source instanceof Class<?> classSource) {
this.classNames.add(classSource.getName());
}
}
}

View File

@ -86,8 +86,8 @@ public class ResourceBanner implements Banner {
*/
protected List<PropertyResolver> getPropertyResolvers(Environment environment, Class<?> sourceClass) {
MutablePropertySources sources = new MutablePropertySources();
if (environment instanceof ConfigurableEnvironment) {
((ConfigurableEnvironment) environment).getPropertySources().forEach(sources::addLast);
if (environment instanceof ConfigurableEnvironment configurableEnvironment) {
configurableEnvironment.getPropertySources().forEach(sources::addLast);
}
sources.addLast(getTitleSource(sourceClass));
sources.addLast(getAnsiSource());

View File

@ -98,7 +98,7 @@ public class ApplicationAvailabilityBean
@SuppressWarnings("unchecked")
private Class<? extends AvailabilityState> getStateType(AvailabilityState state) {
Class<?> type = (state instanceof Enum) ? ((Enum<?>) state).getDeclaringClass() : state.getClass();
Class<?> type = (state instanceof Enum<?> enumState) ? enumState.getDeclaringClass() : state.getClass();
return (Class<? extends AvailabilityState>) type;
}

View File

@ -60,8 +60,8 @@ public class AvailabilityChangeEvent<S extends AvailabilityState> extends Payloa
private Class<?> getStateType() {
S state = getState();
if (state instanceof Enum) {
return ((Enum<?>) state).getDeclaringClass();
if (state instanceof Enum<?> enumState) {
return enumState.getDeclaringClass();
}
return state.getClass();
}

View File

@ -127,8 +127,8 @@ public enum CloudPlatform {
&& environmentPropertySource.containsProperty(KUBERNETES_SERVICE_PORT)) {
return true;
}
if (environmentPropertySource instanceof EnumerablePropertySource) {
return isAutoDetected((EnumerablePropertySource<?>) environmentPropertySource);
if (environmentPropertySource instanceof EnumerablePropertySource<?> enumerablePropertySource) {
return isAutoDetected(enumerablePropertySource);
}
}
return false;

View File

@ -225,8 +225,8 @@ public class LoggingApplicationListener implements GenericApplicationListener {
else if (event instanceof ApplicationPreparedEvent preparedEvent) {
onApplicationPreparedEvent(preparedEvent);
}
else if (event instanceof ContextClosedEvent) {
onContextClosedEvent((ContextClosedEvent) event);
else if (event instanceof ContextClosedEvent contextClosedEvent) {
onContextClosedEvent(contextClosedEvent);
}
else if (event instanceof ApplicationFailedEvent) {
onApplicationFailedEvent();

View File

@ -167,10 +167,10 @@ class SpringConfigurationPropertySource implements ConfigurationPropertySource {
private static boolean isFullEnumerable(PropertySource<?> source) {
PropertySource<?> rootSource = getRootSource(source);
if (rootSource.getSource() instanceof Map) {
if (rootSource.getSource() instanceof Map<?, ?> map) {
// Check we're not security restricted
try {
((Map<?, ?>) rootSource.getSource()).size();
map.size();
}
catch (UnsupportedOperationException ex) {
return false;
@ -180,8 +180,8 @@ class SpringConfigurationPropertySource implements ConfigurationPropertySource {
}
private static PropertySource<?> getRootSource(PropertySource<?> source) {
while (source.getSource() != null && source.getSource() instanceof PropertySource) {
source = (PropertySource<?>) source.getSource();
while (source.getSource() != null && source.getSource() instanceof PropertySource<?> propertySource) {
source = propertySource;
}
return source;
}

View File

@ -67,8 +67,8 @@ class SpringConfigurationPropertySources implements Iterable<ConfigurationProper
return result;
}
result = SpringConfigurationPropertySource.from(source);
if (source instanceof OriginLookup) {
result = result.withPrefix(((OriginLookup<?>) source).getPrefix());
if (source instanceof OriginLookup<?> originLookup) {
result = result.withPrefix(originLookup.getPrefix());
}
this.cache.put(source, result);
return result;

View File

@ -169,8 +169,8 @@ class SpringIterableConfigurationPropertySource extends SpringConfigurationPrope
private boolean isImmutablePropertySource() {
EnumerablePropertySource<?> source = getPropertySource();
if (source instanceof OriginLookup) {
return ((OriginLookup<?>) source).isImmutable();
if (source instanceof OriginLookup<?> originLookup) {
return originLookup.isImmutable();
}
if (StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME.equals(source.getName())) {
return source.getSource() == System.getenv();

View File

@ -43,8 +43,8 @@ public class UnboundElementsSourceFilter implements Function<ConfigurationProper
@Override
public Boolean apply(ConfigurationPropertySource configurationPropertySource) {
Object underlyingSource = configurationPropertySource.getUnderlyingSource();
if (underlyingSource instanceof PropertySource) {
String name = ((PropertySource<?>) underlyingSource).getName();
if (underlyingSource instanceof PropertySource<?> propertySource) {
String name = propertySource.getName();
return !BENIGN_PROPERTY_SOURCE_NAMES.contains(name);
}
return true;

View File

@ -278,20 +278,20 @@ public class ApplicationConversionService extends FormattingConversionService {
beans.addAll(beanFactory.getBeansOfType(Printer.class).values());
beans.addAll(beanFactory.getBeansOfType(Parser.class).values());
for (Object bean : beans) {
if (bean instanceof GenericConverter) {
registry.addConverter((GenericConverter) bean);
if (bean instanceof GenericConverter genericConverter) {
registry.addConverter(genericConverter);
}
else if (bean instanceof Converter) {
registry.addConverter((Converter<?, ?>) bean);
else if (bean instanceof Converter<?, ?> converter) {
registry.addConverter(converter);
}
else if (bean instanceof Formatter) {
registry.addFormatter((Formatter<?>) bean);
else if (bean instanceof Formatter<?> formatter) {
registry.addFormatter(formatter);
}
else if (bean instanceof Printer) {
registry.addPrinter((Printer<?>) bean);
else if (bean instanceof Printer<?> printer) {
registry.addPrinter(printer);
}
else if (bean instanceof Parser) {
registry.addParser((Parser<?>) bean);
else if (bean instanceof Parser<?> parser) {
registry.addParser(parser);
}
}
}

View File

@ -126,20 +126,20 @@ public class SpringApplicationJsonEnvironmentPostProcessor implements Environmen
@SuppressWarnings("unchecked")
private void extract(String name, Map<String, Object> result, Object value) {
if (value instanceof Map) {
if (CollectionUtils.isEmpty((Map<?, ?>) value)) {
if (value instanceof Map<?, ?> map) {
if (CollectionUtils.isEmpty(map)) {
result.put(name, value);
return;
}
flatten(name, result, (Map<String, Object>) value);
}
else if (value instanceof Collection) {
if (CollectionUtils.isEmpty((Collection<?>) value)) {
else if (value instanceof Collection<?> collection) {
if (CollectionUtils.isEmpty(collection)) {
result.put(name, value);
return;
}
int index = 0;
for (Object object : (Collection<Object>) value) {
for (Object object : collection) {
extract(name + "[" + index + "]", result, object);
index++;
}

View File

@ -102,14 +102,14 @@ public class JsonComponentModule extends SimpleModule implements BeanFactoryAwar
}
private void addJsonBean(Object bean, Class<?>[] types, Scope scope) {
if (bean instanceof JsonSerializer) {
addJsonSerializerBean((JsonSerializer<?>) bean, scope, types);
if (bean instanceof JsonSerializer<?> jsonSerializer) {
addJsonSerializerBean(jsonSerializer, scope, types);
}
else if (bean instanceof JsonDeserializer) {
addJsonDeserializerBean((JsonDeserializer<?>) bean, types);
else if (bean instanceof JsonDeserializer<?> jsonDeserializer) {
addJsonDeserializerBean(jsonDeserializer, types);
}
else if (bean instanceof KeyDeserializer) {
addKeyDeserializerBean((KeyDeserializer) bean, types);
else if (bean instanceof KeyDeserializer keyDeserializer) {
addKeyDeserializerBean(keyDeserializer, types);
}
for (Class<?> innerClass : bean.getClass().getDeclaredClasses()) {
if (isSuitableInnerClass(innerClass)) {

View File

@ -78,13 +78,13 @@ public class OptionsCapableConnectionFactory implements Wrapped<ConnectionFactor
* @since 2.5.1
*/
public static OptionsCapableConnectionFactory unwrapFrom(ConnectionFactory connectionFactory) {
if (connectionFactory instanceof OptionsCapableConnectionFactory) {
return (OptionsCapableConnectionFactory) connectionFactory;
if (connectionFactory instanceof OptionsCapableConnectionFactory optionsCapableConnectionFactory) {
return optionsCapableConnectionFactory;
}
if (connectionFactory instanceof Wrapped) {
Object unwrapped = ((Wrapped<?>) connectionFactory).unwrap();
if (unwrapped instanceof ConnectionFactory) {
return unwrapFrom((ConnectionFactory) unwrapped);
if (connectionFactory instanceof Wrapped<?> wrappedConnectionFactory) {
Object unwrapped = wrappedConnectionFactory.unwrap();
if (unwrapped instanceof ConnectionFactory unwrappedConnectionFactory) {
return unwrapFrom(unwrappedConnectionFactory);
}
}
return null;

View File

@ -34,9 +34,8 @@ class ForwardHeadersCustomizer implements JettyServerCustomizer {
ForwardedRequestCustomizer customizer = new ForwardedRequestCustomizer();
for (Connector connector : server.getConnectors()) {
for (ConnectionFactory connectionFactory : connector.getConnectionFactories()) {
if (connectionFactory instanceof HttpConfiguration.ConnectionFactory) {
((HttpConfiguration.ConnectionFactory) connectionFactory).getHttpConfiguration()
.addCustomizer(customizer);
if (connectionFactory instanceof HttpConfiguration.ConnectionFactory jettyConnectionFactory) {
jettyConnectionFactory.getHttpConfiguration().addCustomizer(customizer);
}
}
}

View File

@ -41,8 +41,8 @@ class CompressionConnectorCustomizer implements TomcatConnectorCustomizer {
public void customize(Connector connector) {
if (this.compression != null && this.compression.getEnabled()) {
ProtocolHandler handler = connector.getProtocolHandler();
if (handler instanceof AbstractHttp11Protocol) {
customize((AbstractHttp11Protocol<?>) handler);
if (handler instanceof AbstractHttp11Protocol<?> abstractHttp11Protocol) {
customize(abstractHttp11Protocol);
}
}
}

View File

@ -203,8 +203,8 @@ public class TomcatReactiveWebServerFactory extends AbstractReactiveWebServerFac
if (StringUtils.hasText(getServerHeader())) {
connector.setProperty("server", getServerHeader());
}
if (connector.getProtocolHandler() instanceof AbstractProtocol) {
customizeProtocol((AbstractProtocol<?>) connector.getProtocolHandler());
if (connector.getProtocolHandler() instanceof AbstractProtocol<?> abstractProtocol) {
customizeProtocol(abstractProtocol);
}
invokeProtocolHandlerCustomizers(connector.getProtocolHandler());
if (getUriEncoding() != null) {

View File

@ -345,8 +345,8 @@ public class TomcatServletWebServerFactory extends AbstractServletWebServerFacto
if (StringUtils.hasText(getServerHeader())) {
connector.setProperty("server", getServerHeader());
}
if (connector.getProtocolHandler() instanceof AbstractProtocol) {
customizeProtocol((AbstractProtocol<?>) connector.getProtocolHandler());
if (connector.getProtocolHandler() instanceof AbstractProtocol<?> abstractProtocol) {
customizeProtocol(abstractProtocol);
}
invokeProtocolHandlerCustomizers(connector.getProtocolHandler());
if (getUriEncoding() != null) {

View File

@ -103,21 +103,21 @@ public class ServletContextInitializerBeans extends AbstractCollection<ServletCo
private void addServletContextInitializerBean(String beanName, ServletContextInitializer initializer,
ListableBeanFactory beanFactory) {
if (initializer instanceof ServletRegistrationBean) {
Servlet source = ((ServletRegistrationBean<?>) initializer).getServlet();
addServletContextInitializerBean(Servlet.class, beanName, initializer, beanFactory, source);
if (initializer instanceof ServletRegistrationBean<?> servletRegistrationBean) {
Servlet source = servletRegistrationBean.getServlet();
addServletContextInitializerBean(Servlet.class, beanName, servletRegistrationBean, beanFactory, source);
}
else if (initializer instanceof FilterRegistrationBean) {
Filter source = ((FilterRegistrationBean<?>) initializer).getFilter();
addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source);
else if (initializer instanceof FilterRegistrationBean<?> filterRegistrationBean) {
Filter source = filterRegistrationBean.getFilter();
addServletContextInitializerBean(Filter.class, beanName, filterRegistrationBean, beanFactory, source);
}
else if (initializer instanceof DelegatingFilterProxyRegistrationBean) {
String source = ((DelegatingFilterProxyRegistrationBean) initializer).getTargetBeanName();
addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source);
else if (initializer instanceof DelegatingFilterProxyRegistrationBean registrationBean) {
String source = registrationBean.getTargetBeanName();
addServletContextInitializerBean(Filter.class, beanName, registrationBean, beanFactory, source);
}
else if (initializer instanceof ServletListenerRegistrationBean) {
EventListener source = ((ServletListenerRegistrationBean<?>) initializer).getListener();
addServletContextInitializerBean(EventListener.class, beanName, initializer, beanFactory, source);
else if (initializer instanceof ServletListenerRegistrationBean<?> registrationBean) {
EventListener source = registrationBean.getListener();
addServletContextInitializerBean(EventListener.class, beanName, registrationBean, beanFactory, source);
}
else {
addServletContextInitializerBean(ServletContextInitializer.class, beanName, initializer, beanFactory,

View File

@ -1462,8 +1462,8 @@ class SpringApplicationTests {
private <S extends AvailabilityState> ArgumentMatcher<ApplicationEvent> isAvailabilityChangeEventWithState(
S state) {
return (argument) -> (argument instanceof AvailabilityChangeEvent<?>)
&& ((AvailabilityChangeEvent<?>) argument).getState().equals(state);
return (argument) -> (argument instanceof AvailabilityChangeEvent<?> availabilityChangeEvent)
&& availabilityChangeEvent.getState().equals(state);
}
private <E extends ApplicationEvent> AtomicReference<E> addListener(SpringApplication application,