mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-05 00:56:58 +08:00
Merge branch '3.2.x'
Closes gh-40166
This commit is contained in:
commit
813507b791
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)));
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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());
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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++;
|
||||
}
|
||||
|
@ -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)) {
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user