Browse Source

Generate default values from Duration and Period .ZERO

Closes gh-23082
pull/23084/head
Andy Wilkinson 5 years ago
parent
commit
56ded38f5d
  1. 2
      spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/fieldvalues/javac/JavaCompilerFieldValuesParser.java
  2. 2
      spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/fieldvalues/AbstractFieldValuesProcessorTests.java
  3. 4
      spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/fieldvalues/FieldValues.java

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

@ -98,6 +98,8 @@ public class JavaCompilerFieldValuesParser implements FieldValuesParser { @@ -98,6 +98,8 @@ public class JavaCompilerFieldValuesParser implements FieldValuesParser {
values.put("StandardCharsets.UTF_8", "UTF-8");
values.put("StandardCharsets.UTF_16", "UTF-16");
values.put("StandardCharsets.US_ASCII", "US-ASCII");
values.put("Duration.ZERO", 0);
values.put("Period.ZERO", 0);
WELL_KNOWN_STATIC_FINALS = Collections.unmodifiableMap(values);
}

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

@ -94,6 +94,7 @@ public abstract class AbstractFieldValuesProcessorTests { @@ -94,6 +94,7 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("durationMinutes")).isEqualTo("30m");
assertThat(values.get("durationHours")).isEqualTo("40h");
assertThat(values.get("durationDays")).isEqualTo("50d");
assertThat(values.get("durationZero")).isEqualTo(0);
assertThat(values.get("dataSizeNone")).isNull();
assertThat(values.get("dataSizeBytes")).isEqualTo("5B");
assertThat(values.get("dataSizeKilobytes")).isEqualTo("10KB");
@ -105,6 +106,7 @@ public abstract class AbstractFieldValuesProcessorTests { @@ -105,6 +106,7 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("periodWeeks")).isEqualTo("2w");
assertThat(values.get("periodMonths")).isEqualTo("10m");
assertThat(values.get("periodYears")).isEqualTo("15y");
assertThat(values.get("periodZero")).isEqualTo(0);
}
@SupportedAnnotationTypes({ "org.springframework.boot.configurationsample.ConfigurationProperties" })

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

@ -125,6 +125,8 @@ public class FieldValues { @@ -125,6 +125,8 @@ public class FieldValues {
private Duration durationDays = Duration.ofDays(50);
private Duration durationZero = Duration.ZERO;
private DataSize dataSizeNone;
private DataSize dataSizeBytes = DataSize.ofBytes(5);
@ -147,4 +149,6 @@ public class FieldValues { @@ -147,4 +149,6 @@ public class FieldValues {
private Period periodYears = Period.ofYears(15);
private Period periodZero = Period.ZERO;
}

Loading…
Cancel
Save