Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6a55d7b

Browse files
committed
Polishing contribition
Closes gh-46546
1 parent c7621bb commit 6a55d7b

File tree

9 files changed

+63
-45
lines changed

9 files changed

+63
-45
lines changed

‎buildSrc/src/main/java/org/springframework/boot/build/context/properties/DocumentConfigurationProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ private void mailPrefixes(Config config) {
118118
private void jsonPrefixes(Config config) {
119119
config.accept("spring.jackson");
120120
config.accept("spring.gson");
121-
config.accept("spring.kotlin-serialization");
121+
config.accept("spring.kotlin.serialization");
122122
}
123123

124124
private void dataPrefixes(Config config) {

‎documentation/spring-boot-docs/src/docs/antora/modules/reference/pages/features/json.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,4 @@ The preferred JSON-B implementation is Eclipse Yasson for which dependency manag
7777

7878
Auto-configuration for Kotlin Serialization is provided.
7979
When `kotlinx-serialization-json` is on the classpath a https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-json/kotlinx.serialization.json/-json/[Json] bean is automatically configured.
80-
Several `+spring.kotlin-serialization.*+` configuration properties are provided for customizing the configuration.
80+
Several `+spring.kotlin.serialization.*+` configuration properties are provided for customizing the configuration.

‎module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/GsonHttpMessageConvertersConfiguration.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class GsonHttpMessageConvertersConfiguration {
4242

4343
@Configuration(proxyBeanMethods = false)
4444
@ConditionalOnBean(Gson.class)
45-
@Conditional(PreferGsonOrJacksonAndJsonbUnavailableCondition.class)
45+
@Conditional(PreferGsonOrOtherJsonLibraryUnavailableCondition.class)
4646
static class GsonHttpMessageConverterConfiguration {
4747

4848
@Bean
@@ -55,9 +55,9 @@ GsonHttpMessageConverter gsonHttpMessageConverter(Gson gson) {
5555

5656
}
5757

58-
private static class PreferGsonOrJacksonAndJsonbUnavailableCondition extends AnyNestedCondition {
58+
private static class PreferGsonOrOtherJsonLibraryUnavailableCondition extends AnyNestedCondition {
5959

60-
PreferGsonOrJacksonAndJsonbUnavailableCondition() {
60+
PreferGsonOrOtherJsonLibraryUnavailableCondition() {
6161
super(ConfigurationPhase.REGISTER_BEAN);
6262
}
6363

@@ -67,16 +67,16 @@ static class GsonPreferred {
6767

6868
}
6969

70-
@Conditional(JacksonAndJsonbUnavailableCondition.class)
70+
@Conditional(OtherJsonLibrariesUnavailableCondition.class)
7171
static class JacksonJsonbUnavailable {
7272

7373
}
7474

7575
}
7676

77-
private static class JacksonAndJsonbUnavailableCondition extends NoneNestedConditions {
77+
private static class OtherJsonLibrariesUnavailableCondition extends NoneNestedConditions {
7878

79-
JacksonAndJsonbUnavailableCondition() {
79+
OtherJsonLibrariesUnavailableCondition() {
8080
super(ConfigurationPhase.REGISTER_BEAN);
8181
}
8282

@@ -93,7 +93,7 @@ static class JsonbPreferred {
9393

9494
@ConditionalOnProperty(name = HttpMessageConvertersAutoConfiguration.PREFERRED_MAPPER_PROPERTY,
9595
havingValue = "kotlin-serialization")
96-
static class KotlinxSerialization {
96+
static class KotlinSerializationPreferred {
9797

9898
}
9999

‎module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/JsonbHttpMessageConvertersConfiguration.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class JsonbHttpMessageConvertersConfiguration {
4242

4343
@Configuration(proxyBeanMethods = false)
4444
@ConditionalOnBean(Jsonb.class)
45-
@Conditional(PreferJsonbOrMissingJacksonAndGsonCondition.class)
45+
@Conditional(PreferJsonbOrOtherJsonLibrariesMissingCondition.class)
4646
static class JsonbHttpMessageConverterConfiguration {
4747

4848
@Bean
@@ -55,9 +55,9 @@ JsonbHttpMessageConverter jsonbHttpMessageConverter(Jsonb jsonb) {
5555

5656
}
5757

58-
private static class PreferJsonbOrMissingJacksonAndGsonCondition extends AnyNestedCondition {
58+
private static class PreferJsonbOrOtherJsonLibrariesMissingCondition extends AnyNestedCondition {
5959

60-
PreferJsonbOrMissingJacksonAndGsonCondition() {
60+
PreferJsonbOrOtherJsonLibrariesMissingCondition() {
6161
super(ConfigurationPhase.REGISTER_BEAN);
6262
}
6363

@@ -67,16 +67,16 @@ static class JsonbPreferred {
6767

6868
}
6969

70-
@Conditional(JacksonAndGsonAndKotlinSerializationMissingCondition.class)
71-
static class JacksonAndGsonAndKotlinSerializationMissing {
70+
@Conditional(OtherJsonLibrariesMissingMissingCondition.class)
71+
static class OtherJsonLibrariesMissingMissing {
7272

7373
}
7474

7575
}
7676

77-
private static class JacksonAndGsonAndKotlinSerializationMissingCondition extends NoneNestedConditions {
77+
private static class OtherJsonLibrariesMissingMissingCondition extends NoneNestedConditions {
7878

79-
JacksonAndGsonAndKotlinSerializationMissingCondition() {
79+
OtherJsonLibrariesMissingMissingCondition() {
8080
super(ConfigurationPhase.REGISTER_BEAN);
8181
}
8282

@@ -92,7 +92,7 @@ static class GsonAvailable {
9292

9393
@ConditionalOnProperty(name = HttpMessageConvertersAutoConfiguration.PREFERRED_MAPPER_PROPERTY,
9494
havingValue = "kotlin-serialization")
95-
static class KotlinxPreferred {
95+
static class KotlinPreferred {
9696

9797
}
9898

‎module/spring-boot-http-converter/src/main/java/org/springframework/boot/http/converter/autoconfigure/KotlinSerializationHttpMessageConvertersConfiguration.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,17 @@
1818

1919
import kotlinx.serialization.json.Json;
2020

21+
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
2122
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2324
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2425
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
2526
import org.springframework.context.annotation.Bean;
27+
import org.springframework.context.annotation.Conditional;
2628
import org.springframework.context.annotation.Configuration;
29+
import org.springframework.http.converter.json.GsonHttpMessageConverter;
30+
import org.springframework.http.converter.json.JacksonJsonHttpMessageConverter;
31+
import org.springframework.http.converter.json.JsonbHttpMessageConverter;
2732
import org.springframework.http.converter.json.KotlinSerializationJsonHttpMessageConverter;
2833

2934
/**
@@ -37,8 +42,7 @@ class KotlinSerializationHttpMessageConvertersConfiguration {
3742

3843
@Configuration(proxyBeanMethods = false)
3944
@ConditionalOnBean(Json.class)
40-
@ConditionalOnProperty(name = HttpMessageConvertersAutoConfiguration.PREFERRED_MAPPER_PROPERTY,
41-
havingValue = "kotlin-serialization")
45+
@Conditional(PreferKotlinSerializationOrOtherJsonLibrariesUnavailableCondition.class)
4246
static class KotlinSerializationHttpMessageConverterConfiguration {
4347

4448
@Bean
@@ -49,4 +53,24 @@ KotlinSerializationJsonHttpMessageConverter kotlinSerializationJsonHttpMessageCo
4953

5054
}
5155

56+
private static class PreferKotlinSerializationOrOtherJsonLibrariesUnavailableCondition extends AnyNestedCondition {
57+
58+
PreferKotlinSerializationOrOtherJsonLibrariesUnavailableCondition() {
59+
super(ConfigurationPhase.REGISTER_BEAN);
60+
}
61+
62+
@ConditionalOnProperty(name = HttpMessageConvertersAutoConfiguration.PREFERRED_MAPPER_PROPERTY,
63+
havingValue = "kotlin-serialization")
64+
static class KotlinSerializationPreferred {
65+
66+
}
67+
68+
@ConditionalOnMissingBean({ JacksonJsonHttpMessageConverter.class, JsonbHttpMessageConverter.class,
69+
GsonHttpMessageConverter.class })
70+
static class OtherJsonLibrariesUnavailable {
71+
72+
}
73+
74+
}
75+
5276
}

‎module/spring-boot-kotlin-serialization/build.gradle

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,3 @@ dependencies {
4040
testRuntimeOnly("ch.qos.logback:logback-classic")
4141
testRuntimeOnly("org.jetbrains.kotlin:kotlin-reflect")
4242
}
43-
44-
tasks.named("checkAutoConfigurationClasses", CheckAutoConfigurationClasses.class) {
45-
doFirst {
46-
classpath = classpath.filter { !it.path.contains('/build/classes/kotlin/main') }
47-
}
48-
}

‎module/spring-boot-kotlin-serialization/src/main/java/org/springframework/boot/kotlin/serialization/autoconfigure/KotlinSerializationAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public int getOrder() {
7979
@Override
8080
public void customize(JsonBuilder jsonBuilder) {
8181
KotlinSerializationProperties properties = this.properties;
82-
PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull();
82+
PropertyMapper map = PropertyMapper.get();
8383
map.from(properties::getNamingStrategy).to(setNamingStrategy(jsonBuilder));
8484
map.from(properties::getPrettyPrint).to(jsonBuilder::setPrettyPrint);
8585
map.from(properties::getLenient).to(jsonBuilder::setLenient);

‎module/spring-boot-kotlin-serialization/src/main/java/org/springframework/boot/kotlin/serialization/autoconfigure/KotlinSerializationProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* @author Dmitry Sulman
2929
* @since 4.0.0
3030
*/
31-
@ConfigurationProperties("spring.kotlin-serialization")
31+
@ConfigurationProperties("spring.kotlin.serialization")
3232
public class KotlinSerializationProperties {
3333

3434
/**

‎module/spring-boot-kotlin-serialization/src/test/kotlin/org/springframework/boot/kotlin/serialization/autoconfigure/KotlinSerializationAutoConfigurationTests.kt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ class KotlinSerializationAutoConfigurationTests {
4242
.withConfiguration(AutoConfigurations.of(KotlinSerializationAutoConfiguration::class.java))
4343

4444
@Test
45-
fun shouldSupplyBean() {
45+
fun shouldSupplyJsonBean() {
4646
this.contextRunner.run { context ->
4747
assertThat(context).hasSingleBean(Json::class.java)
4848
}
4949
}
5050

5151
@Test
52-
fun shouldNotSupplyBean() {
52+
fun shouldNotSupplyJsonBean() {
5353
this.contextRunner
5454
.withClassLoader(FilteredClassLoader(Json::class.java))
5555
.run { context ->
@@ -90,7 +90,7 @@ class KotlinSerializationAutoConfigurationTests {
9090
@Test
9191
fun serializeSnakeCase() {
9292
this.contextRunner
93-
.withPropertyValues("spring.kotlin-serialization.naming-strategy=snake_case")
93+
.withPropertyValues("spring.kotlin.serialization.naming-strategy=snake_case")
9494
.run { context ->
9595
val json = context.getBean(Json::class.java)
9696
assertThat(json.encodeToString(DataObject("hello")))
@@ -101,7 +101,7 @@ class KotlinSerializationAutoConfigurationTests {
101101
@Test
102102
fun serializeKebabCase() {
103103
this.contextRunner
104-
.withPropertyValues("spring.kotlin-serialization.naming-strategy=kebab_case")
104+
.withPropertyValues("spring.kotlin.serialization.naming-strategy=kebab_case")
105105
.run { context ->
106106
val json = context.getBean(Json::class.java)
107107
assertThat(json.encodeToString(DataObject("hello")))
@@ -112,7 +112,7 @@ class KotlinSerializationAutoConfigurationTests {
112112
@Test
113113
fun serializePrettyPrint() {
114114
this.contextRunner
115-
.withPropertyValues("spring.kotlin-serialization.pretty-print=true")
115+
.withPropertyValues("spring.kotlin.serialization.pretty-print=true")
116116
.run { context ->
117117
val json = context.getBean(Json::class.java)
118118
assertThat(json.encodeToString(DataObject("hello")))
@@ -130,7 +130,7 @@ class KotlinSerializationAutoConfigurationTests {
130130
@Suppress("JsonStandardCompliance")
131131
fun deserializeLenient() {
132132
this.contextRunner
133-
.withPropertyValues("spring.kotlin-serialization.lenient=true")
133+
.withPropertyValues("spring.kotlin.serialization.lenient=true")
134134
.run { context ->
135135
val json = context.getBean(Json::class.java)
136136
assertThat(json.decodeFromString<DataObject>("""{"stringField":hello}"""))
@@ -141,7 +141,7 @@ class KotlinSerializationAutoConfigurationTests {
141141
@Test
142142
fun deserializeIgnoreUnknownKeys() {
143143
this.contextRunner
144-
.withPropertyValues("spring.kotlin-serialization.ignore-unknown-keys=true")
144+
.withPropertyValues("spring.kotlin.serialization.ignore-unknown-keys=true")
145145
.run { context ->
146146
val json = context.getBean(Json::class.java)
147147
assertThat(json.decodeFromString<DataObject>("""{"stringField":"hello", "anotherField":"value"}"""))
@@ -152,7 +152,7 @@ class KotlinSerializationAutoConfigurationTests {
152152
@Test
153153
fun serializeDefaults() {
154154
this.contextRunner
155-
.withPropertyValues("spring.kotlin-serialization.encode-defaults=true")
155+
.withPropertyValues("spring.kotlin.serialization.encode-defaults=true")
156156
.run { context ->
157157
val json = context.getBean(Json::class.java)
158158
assertThat(json.encodeToString(DataObjectWithDefault("hello")))
@@ -163,7 +163,7 @@ class KotlinSerializationAutoConfigurationTests {
163163
@Test
164164
fun serializeExplicitNullsFalse() {
165165
this.contextRunner
166-
.withPropertyValues("spring.kotlin-serialization.explicit-nulls=false")
166+
.withPropertyValues("spring.kotlin.serialization.explicit-nulls=false")
167167
.run { context ->
168168
val json = context.getBean(Json::class.java)
169169
assertThat(json.encodeToString(DataObjectWithDefault(null, "hello")))
@@ -174,7 +174,7 @@ class KotlinSerializationAutoConfigurationTests {
174174
@Test
175175
fun deserializeCoerceInputValues() {
176176
this.contextRunner
177-
.withPropertyValues("spring.kotlin-serialization.coerce-input-values=true")
177+
.withPropertyValues("spring.kotlin.serialization.coerce-input-values=true")
178178
.run { context ->
179179
val json = context.getBean(Json::class.java)
180180
assertThat(json.decodeFromString<DataObjectWithDefault>("""{"stringField":"hello", "defaultField":null}"""))
@@ -185,7 +185,7 @@ class KotlinSerializationAutoConfigurationTests {
185185
@Test
186186
fun serializeStructuredMapKeys() {
187187
this.contextRunner
188-
.withPropertyValues("spring.kotlin-serialization.allow-structured-map-keys=true")
188+
.withPropertyValues("spring.kotlin.serialization.allow-structured-map-keys=true")
189189
.run { context ->
190190
val json = context.getBean(Json::class.java)
191191
val map = mapOf(
@@ -200,7 +200,7 @@ class KotlinSerializationAutoConfigurationTests {
200200
@Test
201201
fun serializeSpecialFloatingPointValues() {
202202
this.contextRunner
203-
.withPropertyValues("spring.kotlin-serialization.allow-special-floating-point-values=true")
203+
.withPropertyValues("spring.kotlin.serialization.allow-special-floating-point-values=true")
204204
.run { context ->
205205
val json = context.getBean(Json::class.java)
206206
assertThat(json.encodeToString(DataObjectDouble(Double.NaN)))
@@ -211,7 +211,7 @@ class KotlinSerializationAutoConfigurationTests {
211211
@Test
212212
fun serializeClassDiscriminator() {
213213
this.contextRunner
214-
.withPropertyValues("spring.kotlin-serialization.class-discriminator=class")
214+
.withPropertyValues("spring.kotlin.serialization.class-discriminator=class")
215215
.run { context ->
216216
val json = context.getBean(Json::class.java)
217217
val value: BaseClass = ChildClass("value")
@@ -223,7 +223,7 @@ class KotlinSerializationAutoConfigurationTests {
223223
@Test
224224
fun serializeClassDiscriminatorNone() {
225225
this.contextRunner
226-
.withPropertyValues("spring.kotlin-serialization.class-discriminator-mode=none")
226+
.withPropertyValues("spring.kotlin.serialization.class-discriminator-mode=none")
227227
.run { context ->
228228
val json = context.getBean(Json::class.java)
229229
val value: BaseClass = ChildClass("value")
@@ -235,7 +235,7 @@ class KotlinSerializationAutoConfigurationTests {
235235
@Test
236236
fun deserializeEnumsCaseInsensitive() {
237237
this.contextRunner
238-
.withPropertyValues("spring.kotlin-serialization.decode-enums-case-insensitive=true")
238+
.withPropertyValues("spring.kotlin.serialization.decode-enums-case-insensitive=true")
239239
.run { context ->
240240
val json = context.getBean(Json::class.java)
241241
assertThat(json.decodeFromString<DataObjectEnumValues>("""{"values":["value_A", "alternative"]}"""))
@@ -246,7 +246,7 @@ class KotlinSerializationAutoConfigurationTests {
246246
@Test
247247
fun deserializeAlternativeNames() {
248248
this.contextRunner
249-
.withPropertyValues("spring.kotlin-serialization.use-alternative-names=false")
249+
.withPropertyValues("spring.kotlin.serialization.use-alternative-names=false")
250250
.run { context ->
251251
val json = context.getBean(Json::class.java)
252252
assertThatExceptionOfType(SerializationException::class.java).isThrownBy {
@@ -259,7 +259,7 @@ class KotlinSerializationAutoConfigurationTests {
259259
@Suppress("JsonStandardCompliance")
260260
fun deserializeTrailingComma() {
261261
this.contextRunner
262-
.withPropertyValues("spring.kotlin-serialization.allow-trailing-comma=true")
262+
.withPropertyValues("spring.kotlin.serialization.allow-trailing-comma=true")
263263
.run { context ->
264264
val json = context.getBean(Json::class.java)
265265
assertThat(json.decodeFromString<DataObject>("""{"stringField":"hello",}"""))
@@ -271,7 +271,7 @@ class KotlinSerializationAutoConfigurationTests {
271271
@Suppress("JsonStandardCompliance")
272272
fun deserializeComments() {
273273
this.contextRunner
274-
.withPropertyValues("spring.kotlin-serialization.allow-comments=true")
274+
.withPropertyValues("spring.kotlin.serialization.allow-comments=true")
275275
.run { context ->
276276
val json = context.getBean(Json::class.java)
277277
assertThat(json.decodeFromString<DataObject>("""{"stringField":"hello" /*comment*/}"""))

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /