diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java index ffa6558dc76..16861bac0bb 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java @@ -105,15 +105,15 @@ class OriginTrackedYamlLoader extends YamlProcessor { @Override protected Object constructObject(Node node) { + if (node instanceof CollectionNode && ((CollectionNode) node).getValue().isEmpty()) { + return constructTrackedObject(node, super.constructObject(node)); + } if (node instanceof ScalarNode) { if (!(node instanceof KeyScalarNode)) { return constructTrackedObject(node, super.constructObject(node)); } } - else if (node instanceof CollectionNode && ((CollectionNode) node).getValue().isEmpty()) { - return constructTrackedObject(node, super.constructObject(node)); - } - else if (node instanceof MappingNode) { + if (node instanceof MappingNode) { replaceMappingNodeKeys((MappingNode) node); } return super.constructObject(node); diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java index 279d727fa5d..1c41a623e19 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java @@ -125,8 +125,8 @@ class OriginTrackedYamlLoaderTests { void processEmptyListAndMap() { OriginTrackedValue emptymap = getValue("emptymap"); OriginTrackedValue emptylist = getValue("emptylist"); - assertThat(emptymap.getValue()).isEqualTo(Collections.EMPTY_MAP); - assertThat(emptylist.getValue()).isEqualTo(Collections.EMPTY_LIST); + assertThat(emptymap.getValue()).isEqualTo(Collections.emptyMap()); + assertThat(emptylist.getValue()).isEqualTo(Collections.emptyList()); } @Test