Browse Source

Merge pull request #46551 from Kguswo

* pr/46551:
  Polish "Do not set primitive default value for unsupported expressions"
  Do not set primitive default value for unsupported expressions

Closes gh-46551
pull/46604/head
Stéphane Nicoll 5 months ago
parent
commit
1486b130b0
  1. 2
      spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/fieldvalues/javac/JavaCompilerFieldValuesParser.java
  2. 4
      spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/fieldvalues/AbstractFieldValuesProcessorTests.java
  3. 8
      spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/fieldvalues/FieldValues.java
  4. 1
      src/checkstyle/checkstyle-suppressions.xml

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

@ -209,7 +209,7 @@ public class JavaCompilerFieldValuesParser implements FieldValuesParser { @@ -209,7 +209,7 @@ public class JavaCompilerFieldValuesParser implements FieldValuesParser {
}
return null;
}
return defaultValue;
return null;
}
private Object getFactoryValue(ExpressionTree expression, Object factoryValue) {

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

@ -61,12 +61,15 @@ public abstract class AbstractFieldValuesProcessorTests { @@ -61,12 +61,15 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("bool")).isEqualTo(true);
assertThat(values.get("boolNone")).isEqualTo(false);
assertThat(values.get("boolConst")).isEqualTo(true);
assertThat(values.get("boolInverted")).isNull();
assertThat(values.get("boolObject")).isEqualTo(true);
assertThat(values.get("boolObjectNone")).isNull();
assertThat(values.get("boolObjectConst")).isEqualTo(true);
assertThat(values.get("integer")).isEqualTo(1);
assertThat(values.get("integerNone")).isEqualTo(0);
assertThat(values.get("integerConst")).isEqualTo(2);
assertThat(values.get("integerArithmetic")).isNull();
assertThat(values.get("integerMax")).isNull();
assertThat(values.get("integerObject")).isEqualTo(3);
assertThat(values.get("integerObjectNone")).isNull();
assertThat(values.get("integerObjectConst")).isEqualTo(4);
@ -84,6 +87,7 @@ public abstract class AbstractFieldValuesProcessorTests { @@ -84,6 +87,7 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("stringArrayConst")).isEqualTo(new Object[] { "OK", "KO" });
assertThat(values.get("stringArrayConstElements")).isEqualTo(new Object[] { "c" });
assertThat(values.get("integerArray")).isEqualTo(new Object[] { 42, 24 });
assertThat(values.get("intArrayUnsupportedExpression")).isNull();
assertThat(values.get("unknownArray")).isNull();
assertThat(values.get("durationNone")).isNull();
assertThat(values.get("durationNanos")).isEqualTo("5ns");

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

@ -64,6 +64,8 @@ public class FieldValues { @@ -64,6 +64,8 @@ public class FieldValues {
private boolean boolConst = BOOLEAN_CONST;
private boolean boolInverted = !false;
private Boolean boolObject = Boolean.TRUE;
private Boolean boolObjectNone;
@ -76,6 +78,10 @@ public class FieldValues { @@ -76,6 +78,10 @@ public class FieldValues {
private int integerConst = INTEGER_CONST;
private int integerArithmetic = 10 * 10;
private int integerMax = Math.max(10, 20);
private Integer integerObject = 3;
private Integer integerObjectNone;
@ -110,6 +116,8 @@ public class FieldValues { @@ -110,6 +116,8 @@ public class FieldValues {
private Integer[] integerArray = new Integer[] { 42, 24 };
private int[] intArrayUnsupportedExpression = new int[] { 10 + 10 };
private UnknownElementType[] unknownArray = new UnknownElementType[] { new UnknownElementType() };
private Duration durationNone;

1
src/checkstyle/checkstyle-suppressions.xml

@ -85,4 +85,5 @@ @@ -85,4 +85,5 @@
<suppress files="MyInterface\.java" checks="InterfaceIsType" />
<suppress files="SpringBootBanner\.java" checks="SpringLeadingWhitespace" />
<suppress files="LoadTimeWeaverAwareConsumerContainers\.java" checks="InterfaceIsType" />
<suppress files="FieldValues\.java" checks="SimplifyBooleanExpression" />
</suppressions>

Loading…
Cancel
Save