Browse Source

Polish 'Add origin support for empty YAML list and map'

See gh-21704
pull/23456/head
Phillip Webb 5 years ago
parent
commit
bd2a252101
  1. 8
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java
  2. 4
      spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java

8
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java vendored

@ -105,15 +105,15 @@ class OriginTrackedYamlLoader extends YamlProcessor { @@ -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);

4
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java vendored

@ -125,8 +125,8 @@ class OriginTrackedYamlLoaderTests { @@ -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

Loading…
Cancel
Save