Merge pull request #36463 from elevne

* pr/36463:
  Polish contribution
  Harmonize use of Stream in ConfigDataLocationBindHandler.onSuccess

Closes gh-36463
This commit is contained in:
Stephane Nicoll
2023-07-24 13:17:20 +02:00

View File

@@ -16,6 +16,7 @@
package org.springframework.boot.context.config;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -44,23 +45,17 @@ class ConfigDataLocationBindHandler extends AbstractBindHandler {
return withOrigin(context, (ConfigDataLocation) result);
}
if (result instanceof List) {
List<Object> list = ((List<Object>) result).stream().filter(Objects::nonNull).collect(Collectors.toList());
for (int i = 0; i < list.size(); i++) {
Object element = list.get(i);
if (element instanceof ConfigDataLocation) {
list.set(i, withOrigin(context, (ConfigDataLocation) element));
}
}
return list;
return ((List<Object>) result).stream()
.filter(Objects::nonNull)
.map((element) -> (element instanceof ConfigDataLocation)
? withOrigin(context, (ConfigDataLocation) element) : element)
.collect(Collectors.toCollection(ArrayList::new));
}
if (result instanceof ConfigDataLocation[]) {
ConfigDataLocation[] locations = Arrays.stream((ConfigDataLocation[]) result)
return Arrays.stream((ConfigDataLocation[]) result)
.filter(Objects::nonNull)
.map((element) -> withOrigin(context, element))
.toArray(ConfigDataLocation[]::new);
for (int i = 0; i < locations.length; i++) {
locations[i] = withOrigin(context, locations[i]);
}
return locations;
}
return result;
}