Merge branch '6.1.x'
# Conflicts: # framework-platform/framework-platform.gradle
This commit is contained in:
		
						commit
						e1cf203295
					
				|  | @ -9,15 +9,15 @@ javaPlatform { | ||||||
| dependencies { | dependencies { | ||||||
| 	api(platform("com.fasterxml.jackson:jackson-bom:2.15.4")) | 	api(platform("com.fasterxml.jackson:jackson-bom:2.15.4")) | ||||||
| 	api(platform("io.micrometer:micrometer-bom:1.14.0-M2")) | 	api(platform("io.micrometer:micrometer-bom:1.14.0-M2")) | ||||||
| 	api(platform("io.netty:netty-bom:4.1.111.Final")) | 	api(platform("io.netty:netty-bom:4.1.112.Final")) | ||||||
| 	api(platform("io.netty:netty5-bom:5.0.0.Alpha5")) | 	api(platform("io.netty:netty5-bom:5.0.0.Alpha5")) | ||||||
| 	api(platform("io.projectreactor:reactor-bom:2024.0.0-M5")) | 	api(platform("io.projectreactor:reactor-bom:2024.0.0-M5")) | ||||||
| 	api(platform("io.rsocket:rsocket-bom:1.1.3")) | 	api(platform("io.rsocket:rsocket-bom:1.1.3")) | ||||||
| 	api(platform("org.apache.groovy:groovy-bom:4.0.22")) | 	api(platform("org.apache.groovy:groovy-bom:4.0.22")) | ||||||
| 	api(platform("org.apache.logging.log4j:log4j-bom:2.21.1")) | 	api(platform("org.apache.logging.log4j:log4j-bom:2.21.1")) | ||||||
| 	api(platform("org.assertj:assertj-bom:3.26.0")) | 	api(platform("org.assertj:assertj-bom:3.26.0")) | ||||||
| 	api(platform("org.eclipse.jetty:jetty-bom:12.0.11")) | 	api(platform("org.eclipse.jetty:jetty-bom:12.0.12")) | ||||||
| 	api(platform("org.eclipse.jetty.ee10:jetty-ee10-bom:12.0.11")) | 	api(platform("org.eclipse.jetty.ee10:jetty-ee10-bom:12.0.12")) | ||||||
| 	api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1")) | 	api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1")) | ||||||
| 	api(platform("org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3")) | 	api(platform("org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3")) | ||||||
| 	api(platform("org.junit:junit-bom:5.10.3")) | 	api(platform("org.junit:junit-bom:5.10.3")) | ||||||
|  | @ -56,9 +56,9 @@ dependencies { | ||||||
| 		api("io.r2dbc:r2dbc-spi:1.0.0.RELEASE") | 		api("io.r2dbc:r2dbc-spi:1.0.0.RELEASE") | ||||||
| 		api("io.reactivex.rxjava3:rxjava:3.1.8") | 		api("io.reactivex.rxjava3:rxjava:3.1.8") | ||||||
| 		api("io.smallrye.reactive:mutiny:1.10.0") | 		api("io.smallrye.reactive:mutiny:1.10.0") | ||||||
| 		api("io.undertow:undertow-core:2.3.14.Final") | 		api("io.undertow:undertow-core:2.3.15.Final") | ||||||
| 		api("io.undertow:undertow-servlet:2.3.14.Final") | 		api("io.undertow:undertow-servlet:2.3.15.Final") | ||||||
| 		api("io.undertow:undertow-websockets-jsr:2.3.14.Final") | 		api("io.undertow:undertow-websockets-jsr:2.3.15.Final") | ||||||
| 		api("io.vavr:vavr:0.10.4") | 		api("io.vavr:vavr:0.10.4") | ||||||
| 		api("jakarta.activation:jakarta.activation-api:2.0.1") | 		api("jakarta.activation:jakarta.activation-api:2.0.1") | ||||||
| 		api("jakarta.annotation:jakarta.annotation-api:2.0.0") | 		api("jakarta.annotation:jakarta.annotation-api:2.0.0") | ||||||
|  | @ -103,10 +103,10 @@ dependencies { | ||||||
| 		api("org.apache.httpcomponents.client5:httpclient5:5.3.1") | 		api("org.apache.httpcomponents.client5:httpclient5:5.3.1") | ||||||
| 		api("org.apache.httpcomponents.core5:httpcore5-reactive:5.2.5") | 		api("org.apache.httpcomponents.core5:httpcore5-reactive:5.2.5") | ||||||
| 		api("org.apache.poi:poi-ooxml:5.2.5") | 		api("org.apache.poi:poi-ooxml:5.2.5") | ||||||
| 		api("org.apache.tomcat.embed:tomcat-embed-core:10.1.25") | 		api("org.apache.tomcat.embed:tomcat-embed-core:10.1.28") | ||||||
| 		api("org.apache.tomcat.embed:tomcat-embed-websocket:10.1.25") | 		api("org.apache.tomcat.embed:tomcat-embed-websocket:10.1.28") | ||||||
| 		api("org.apache.tomcat:tomcat-util:10.1.25") | 		api("org.apache.tomcat:tomcat-util:10.1.28") | ||||||
| 		api("org.apache.tomcat:tomcat-websocket:10.1.25") | 		api("org.apache.tomcat:tomcat-websocket:10.1.28") | ||||||
| 		api("org.aspectj:aspectjrt:1.9.22.1") | 		api("org.aspectj:aspectjrt:1.9.22.1") | ||||||
| 		api("org.aspectj:aspectjtools:1.9.22.1") | 		api("org.aspectj:aspectjtools:1.9.22.1") | ||||||
| 		api("org.aspectj:aspectjweaver:1.9.22.1") | 		api("org.aspectj:aspectjweaver:1.9.22.1") | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2002-2021 the original author or authors. |  * Copyright 2002-2024 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -30,13 +30,13 @@ import org.springframework.util.StringUtils; | ||||||
|  * @author Juergen Hoeller |  * @author Juergen Hoeller | ||||||
|  * @since 26.05.2003 |  * @since 26.05.2003 | ||||||
|  * @see java.util.Locale |  * @see java.util.Locale | ||||||
|  * @see org.springframework.util.StringUtils#parseLocaleString |  * @see org.springframework.util.StringUtils#parseLocale | ||||||
|  */ |  */ | ||||||
| public class LocaleEditor extends PropertyEditorSupport { | public class LocaleEditor extends PropertyEditorSupport { | ||||||
| 
 | 
 | ||||||
| 	@Override | 	@Override | ||||||
| 	public void setAsText(String text) { | 	public void setAsText(String text) { | ||||||
| 		setValue(StringUtils.parseLocaleString(text)); | 		setValue(StringUtils.parseLocale(text)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	@Override | 	@Override | ||||||
|  |  | ||||||
|  | @ -648,6 +648,10 @@ class CustomEditorTests { | ||||||
| 		assertThat(localeEditor.getValue()).isEqualTo(Locale.CANADA); | 		assertThat(localeEditor.getValue()).isEqualTo(Locale.CANADA); | ||||||
| 		assertThat(localeEditor.getAsText()).isEqualTo("en_CA"); | 		assertThat(localeEditor.getAsText()).isEqualTo("en_CA"); | ||||||
| 
 | 
 | ||||||
|  | 		localeEditor = new LocaleEditor(); | ||||||
|  | 		localeEditor.setAsText("zh-Hans"); | ||||||
|  | 		assertThat(localeEditor.getValue()).isEqualTo(Locale.forLanguageTag("zh-Hans")); | ||||||
|  | 
 | ||||||
| 		localeEditor = new LocaleEditor(); | 		localeEditor = new LocaleEditor(); | ||||||
| 		assertThat(localeEditor.getAsText()).isEmpty(); | 		assertThat(localeEditor.getAsText()).isEmpty(); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -55,8 +55,9 @@ public class BindingReflectionHintsRegistrar { | ||||||
| 
 | 
 | ||||||
| 	private static final String JACKSON_ANNOTATION = "com.fasterxml.jackson.annotation.JacksonAnnotation"; | 	private static final String JACKSON_ANNOTATION = "com.fasterxml.jackson.annotation.JacksonAnnotation"; | ||||||
| 
 | 
 | ||||||
| 	private static final boolean jacksonAnnotationPresent = ClassUtils.isPresent(JACKSON_ANNOTATION, | 	private static final boolean jacksonAnnotationPresent = | ||||||
| 			BindingReflectionHintsRegistrar.class.getClassLoader()); | 			ClassUtils.isPresent(JACKSON_ANNOTATION, BindingReflectionHintsRegistrar.class.getClassLoader()); | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Register the necessary reflection hints to bind the specified types. | 	 * Register the necessary reflection hints to bind the specified types. | ||||||
|  | @ -96,12 +97,10 @@ public class BindingReflectionHintsRegistrar { | ||||||
| 						} | 						} | ||||||
| 					} | 					} | ||||||
| 					if (clazz.isEnum()) { | 					if (clazz.isEnum()) { | ||||||
| 						typeHint.withMembers( | 						typeHint.withMembers(MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS, | ||||||
| 								MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS, |  | ||||||
| 								MemberCategory.INVOKE_PUBLIC_METHODS); | 								MemberCategory.INVOKE_PUBLIC_METHODS); | ||||||
| 					} | 					} | ||||||
| 					typeHint.withMembers( | 					typeHint.withMembers(MemberCategory.DECLARED_FIELDS, | ||||||
| 							MemberCategory.DECLARED_FIELDS, |  | ||||||
| 							MemberCategory.INVOKE_DECLARED_CONSTRUCTORS); | 							MemberCategory.INVOKE_DECLARED_CONSTRUCTORS); | ||||||
| 					for (Method method : clazz.getMethods()) { | 					for (Method method : clazz.getMethods()) { | ||||||
| 						String methodName = method.getName(); | 						String methodName = method.getName(); | ||||||
|  | @ -138,8 +137,7 @@ public class BindingReflectionHintsRegistrar { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	private void registerPropertyHints(ReflectionHints hints, Set<Type> seen, @Nullable Method method, int parameterIndex) { | 	private void registerPropertyHints(ReflectionHints hints, Set<Type> seen, @Nullable Method method, int parameterIndex) { | ||||||
| 		if (method != null && method.getDeclaringClass() != Object.class && | 		if (method != null && method.getDeclaringClass() != Object.class && method.getDeclaringClass() != Enum.class) { | ||||||
| 				method.getDeclaringClass() != Enum.class) { |  | ||||||
| 			hints.registerMethod(method, ExecutableMode.INVOKE); | 			hints.registerMethod(method, ExecutableMode.INVOKE); | ||||||
| 			MethodParameter methodParameter = MethodParameter.forExecutable(method, parameterIndex); | 			MethodParameter methodParameter = MethodParameter.forExecutable(method, parameterIndex); | ||||||
| 			Type methodParameterType = methodParameter.getGenericParameterType(); | 			Type methodParameterType = methodParameter.getGenericParameterType(); | ||||||
|  | @ -214,6 +212,7 @@ public class BindingReflectionHintsRegistrar { | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Inner class to avoid a hard dependency on Kotlin at runtime. | 	 * Inner class to avoid a hard dependency on Kotlin at runtime. | ||||||
| 	 */ | 	 */ | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| /* | /* | ||||||
|  * Copyright 2002-2023 the original author or authors. |  * Copyright 2002-2024 the original author or authors. | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  * you may not use this file except in compliance with the License. |  * you may not use this file except in compliance with the License. | ||||||
|  | @ -393,7 +393,7 @@ public class CacheControl { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	private void appendDirective(StringBuilder builder, String value) { | 	private void appendDirective(StringBuilder builder, String value) { | ||||||
| 		if (builder.length() > 0) { | 		if (!builder.isEmpty()) { | ||||||
| 			builder.append(", "); | 			builder.append(", "); | ||||||
| 		} | 		} | ||||||
| 		builder.append(value); | 		builder.append(value); | ||||||
|  |  | ||||||
|  | @ -245,8 +245,7 @@ public final class WebAsyncManager { | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Mark the {@link WebAsyncManager} as wrapping a | 	 * Mark the {@link WebAsyncManager} as wrapping a multipart async request. | ||||||
| 	 * multipart async request. |  | ||||||
| 	 * @since 6.1.12 | 	 * @since 6.1.12 | ||||||
| 	 */ | 	 */ | ||||||
| 	public void setMultipartRequestParsed(boolean isMultipart) { | 	public void setMultipartRequestParsed(boolean isMultipart) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue