Merge pull request #36463 from elevne

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

Closes gh-36463
pull/36620/head
Stephane Nicoll 1 year ago
commit 8bc9ada957

@ -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;
}

Loading…
Cancel
Save