Skip to content

Commit 56ded38

Browse files
committed
Generate default values from Duration and Period .ZERO
Closes gh-23082
1 parent 085091d commit 56ded38

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/fieldvalues/javac/JavaCompilerFieldValuesParser.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ private static class FieldCollector implements TreeVisitor {
9898
values.put("StandardCharsets.UTF_8", "UTF-8");
9999
values.put("StandardCharsets.UTF_16", "UTF-16");
100100
values.put("StandardCharsets.US_ASCII", "US-ASCII");
101+
values.put("Duration.ZERO", 0);
102+
values.put("Period.ZERO", 0);
101103
WELL_KNOWN_STATIC_FINALS = Collections.unmodifiableMap(values);
102104
}
103105

spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/fieldvalues/AbstractFieldValuesProcessorTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ void getFieldValues() throws Exception {
9494
assertThat(values.get("durationMinutes")).isEqualTo("30m");
9595
assertThat(values.get("durationHours")).isEqualTo("40h");
9696
assertThat(values.get("durationDays")).isEqualTo("50d");
97+
assertThat(values.get("durationZero")).isEqualTo(0);
9798
assertThat(values.get("dataSizeNone")).isNull();
9899
assertThat(values.get("dataSizeBytes")).isEqualTo("5B");
99100
assertThat(values.get("dataSizeKilobytes")).isEqualTo("10KB");
@@ -105,6 +106,7 @@ void getFieldValues() throws Exception {
105106
assertThat(values.get("periodWeeks")).isEqualTo("2w");
106107
assertThat(values.get("periodMonths")).isEqualTo("10m");
107108
assertThat(values.get("periodYears")).isEqualTo("15y");
109+
assertThat(values.get("periodZero")).isEqualTo(0);
108110
}
109111

110112
@SupportedAnnotationTypes({ "org.springframework.boot.configurationsample.ConfigurationProperties" })

spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/fieldvalues/FieldValues.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ public class FieldValues {
125125

126126
private Duration durationDays = Duration.ofDays(50);
127127

128+
private Duration durationZero = Duration.ZERO;
129+
128130
private DataSize dataSizeNone;
129131

130132
private DataSize dataSizeBytes = DataSize.ofBytes(5);
@@ -147,4 +149,6 @@ public class FieldValues {
147149

148150
private Period periodYears = Period.ofYears(15);
149151

152+
private Period periodZero = Period.ZERO;
153+
150154
}

0 commit comments

Comments
 (0)