diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/ChangelogWriter.java b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/ChangelogWriter.java index e0af2670236..802f59769b0 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/ChangelogWriter.java +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/ChangelogWriter.java @@ -68,8 +68,8 @@ class ChangelogWriter implements AutoCloseable { String newVersionNumber = changelog.newVersionNumber(); Map> differencesByType = collateByType(changelog); write("Configuration property changes between `%s` and `%s`%n", oldVersionNumber, newVersionNumber); - write("%n%n%n== Default Value Changed in %s%n%n", newVersionNumber); - writeDefaultValueChanged(differencesByType.get(DifferenceType.DEFAULT_VALUE_CHANGED)); + write("%n%n%n== Default Changed in %s%n%n", newVersionNumber); + writeDefaultChanged(differencesByType.get(DifferenceType.DEFAULT_CHANGED)); write("%n%n%n== Deprecated in %s%n%n", newVersionNumber); writeDeprecated(differencesByType.get(DifferenceType.DEPRECATED)); write("%n%n%n== Added in %s%n%n", newVersionNumber); @@ -100,12 +100,12 @@ class ChangelogWriter implements AutoCloseable { writeDeprecatedPropertyRow(difference.newProperty()); } - private void writeDefaultValueChanged(List differences) { + private void writeDefaultChanged(List differences) { List rows = sortProperties(differences, Difference::newProperty); - writeTable("| Key | Old Default | New Default", rows, this::writeDefaultValueChanged); + writeTable("| Key | Old Default | New Default", rows, this::writeDefaultChanged); } - private void writeDefaultValueChanged(Difference difference) { + private void writeDefaultChanged(Difference difference) { writeCell(monospace(difference.newProperty().getId())); writeCell(monospace(asString(difference.oldProperty().getDefaultValue()))); writeCell(monospace(asString(difference.newProperty().getDefaultValue()))); diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/Difference.java b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/Difference.java index a3af8e1f1ff..35a1867c89b 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/Difference.java +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/Difference.java @@ -52,7 +52,7 @@ record Difference(DifferenceType type, ConfigurationMetadataProperty oldProperty return new Difference(DifferenceType.DELETED, oldProperty, newProperty); } if (!Objects.equals(oldProperty.getDefaultValue(), newProperty.getDefaultValue())) { - return new Difference(DifferenceType.DEFAULT_VALUE_CHANGED, oldProperty, newProperty); + return new Difference(DifferenceType.DEFAULT_CHANGED, oldProperty, newProperty); } return null; } diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/DifferenceType.java b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/DifferenceType.java index aa81fe45b52..46246c99296 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/DifferenceType.java +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/main/java/org/springframework/boot/configurationmetadata/changelog/DifferenceType.java @@ -40,8 +40,9 @@ enum DifferenceType { DELETED, /** - * The entry's default value has been changed. + * The entry's default value has changed. The entry exists in both the previous and + * current versions, but its default value is different. */ - DEFAULT_VALUE_CHANGED + DEFAULT_CHANGED } diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/java/org/springframework/boot/configurationmetadata/changelog/ChangelogTests.java b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/java/org/springframework/boot/configurationmetadata/changelog/ChangelogTests.java index 7854ab076f8..487d78ccdfd 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/java/org/springframework/boot/configurationmetadata/changelog/ChangelogTests.java +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/java/org/springframework/boot/configurationmetadata/changelog/ChangelogTests.java @@ -65,19 +65,20 @@ class ChangelogTests { assertThat(deprecated).hasSize(1); assertProperty(deprecated.get(0).oldProperty(), "test.deprecate", String.class, "wrong"); assertProperty(deprecated.get(0).newProperty(), "test.deprecate", String.class, "wrong"); - List defaultValueChanged = differences.differences() + List defaultChanged = differences.differences() .stream() - .filter((difference) -> difference.type() == DifferenceType.DEFAULT_VALUE_CHANGED) + .filter((difference) -> difference.type() == DifferenceType.DEFAULT_CHANGED) .toList(); - assertThat(defaultValueChanged).hasSize(2) - .anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.default.change", String.class, "new")) - .anySatisfy((entry) -> assertThat(entry.newProperty().getId()).isEqualTo("test.array.change")); + assertThat(defaultChanged).hasSize(2) + .anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.default.array.change", String[].class, + new String[] { "b", "a" })) + .anySatisfy((entry) -> assertProperty(entry.newProperty(), "test.default.change", String.class, "new")); } private void assertProperty(ConfigurationMetadataProperty property, String id, Class type, Object defaultValue) { assertThat(property).isNotNull(); assertThat(property.getId()).isEqualTo(id); - assertThat(property.getType()).isEqualTo(type.getName()); + assertThat(property.getType()).isEqualTo(type.getCanonicalName()); assertThat(property.getDefaultValue()).isEqualTo(defaultValue); } diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-1.0.json b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-1.0.json index 37ace809760..e28ce4affd6 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-1.0.json +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-1.0.json @@ -12,6 +12,12 @@ "description": "Test default value change.", "defaultValue": "old" }, + { + "name": "test.default.array.change", + "type": "java.lang.String[]", + "description": "Test default array value change.", + "defaultValue": ["a", "b"] + }, { "name": "test.replace", "type": "java.lang.String", @@ -47,12 +53,6 @@ "deprecation": { "level": "error" } - }, - { - "name": "test.array.change", - "type": "java.lang.String[]", - "description": "Test array default value change.", - "defaultValue": ["a", "b"] } ] -} +} \ No newline at end of file diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-2.0.json b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-2.0.json index 73bd835b026..48923d76ec4 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-2.0.json +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample-2.0.json @@ -12,6 +12,12 @@ "description": "Test default value change.", "defaultValue": "new" }, + { + "name": "test.default.array.change", + "type": "java.lang.String[]", + "description": "Test default array value change.", + "defaultValue": ["b", "a"] + }, { "name": "test.replace", "type": "java.lang.String", @@ -66,12 +72,6 @@ "replacement": "test.new.property", "reason": "removed in third-party library without deprecation" } - }, - { - "name": "test.array.change", - "type": "java.lang.String[]", - "description": "Test array default value change.", - "defaultValue": ["a", "b", "c"] } ] } diff --git a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample.adoc b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample.adoc index 147f7d976e1..7a0f17b8ada 100644 --- a/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample.adoc +++ b/configuration-metadata/spring-boot-configuration-metadata-changelog-generator/src/test/resources/sample.adoc @@ -2,14 +2,14 @@ Configuration property changes between `1.0` and `2.0` -== Default Value Changed in 2.0 +== Default Changed in 2.0 |====================== | Key | Old Default | New Default -| `test.array.change` +| `test.default.array.change` | `a, b` -| `a, b, c` +| `b, a` | `test.default.change` | `old`