Merge pull request #36509 from quaff

* pr/36509:
  Harmonize Stream.collect() usage

Closes gh-36509
pull/36604/head
Stephane Nicoll 1 year ago
commit e8dd775d1c

@ -19,12 +19,10 @@ package org.springframework.boot.build.bom.bomr;
import java.time.Duration; import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.stream.Collectors;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion; import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -98,19 +96,14 @@ class StandardLibraryUpdateResolver implements LibraryUpdateResolver {
getLaterVersionsForModule(group.getId(), plugin, libraryVersion)); getLaterVersionsForModule(group.getId(), plugin, libraryVersion));
} }
} }
List<DependencyVersion> allVersions = moduleVersions.values() return moduleVersions.values()
.stream() .stream()
.flatMap(SortedSet::stream) .flatMap(SortedSet::stream)
.distinct() .distinct()
.filter((dependencyVersion) -> isPermitted(dependencyVersion, library.getProhibitedVersions())) .filter((dependencyVersion) -> isPermitted(dependencyVersion, library.getProhibitedVersions()))
.toList(); .map((version) -> (VersionOption) new VersionOption.ResolvedVersionOption(version,
if (allVersions.isEmpty()) {
return Collections.emptyList();
}
return allVersions.stream()
.map((version) -> new VersionOption.ResolvedVersionOption(version,
getMissingModules(moduleVersions, version))) getMissingModules(moduleVersions, version)))
.collect(Collectors.toList()); .toList();
} }
private boolean isPermitted(DependencyVersion dependencyVersion, List<ProhibitedVersion> prohibitedVersions) { private boolean isPermitted(DependencyVersion dependencyVersion, List<ProhibitedVersion> prohibitedVersions) {

@ -21,7 +21,6 @@ import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -105,7 +104,7 @@ class SonatypeServiceTests {
.filter((artifact) -> !artifact.startsWith("build-info.json")) .filter((artifact) -> !artifact.startsWith("build-info.json"))
.map((artifact) -> requestTo( .map((artifact) -> requestTo(
"/service/local/staging/deployByRepositoryId/example-6789/" + artifact.toString())) "/service/local/staging/deployByRepositoryId/example-6789/" + artifact.toString()))
.collect(Collectors.toCollection(HashSet::new)); .collect(Collectors.toSet());
AnyOfRequestMatcher uploadRequestsMatcher = anyOf(uploads); AnyOfRequestMatcher uploadRequestsMatcher = anyOf(uploads);
assertThat(uploadRequestsMatcher.candidates).hasSize(150); assertThat(uploadRequestsMatcher.candidates).hasSize(150);
this.server.expect(ExpectedCount.times(150), uploadRequestsMatcher).andExpect(method(HttpMethod.PUT)) this.server.expect(ExpectedCount.times(150), uploadRequestsMatcher).andExpect(method(HttpMethod.PUT))
@ -157,7 +156,7 @@ class SonatypeServiceTests {
.filter((artifact) -> !"build-info.json".equals(artifact.toString())) .filter((artifact) -> !"build-info.json".equals(artifact.toString()))
.map((artifact) -> requestTo( .map((artifact) -> requestTo(
"/service/local/staging/deployByRepositoryId/example-6789/" + artifact.toString())) "/service/local/staging/deployByRepositoryId/example-6789/" + artifact.toString()))
.collect(Collectors.toCollection(HashSet::new)); .collect(Collectors.toSet());
AnyOfRequestMatcher uploadRequestsMatcher = anyOf(uploads); AnyOfRequestMatcher uploadRequestsMatcher = anyOf(uploads);
assertThat(uploadRequestsMatcher.candidates).hasSize(150); assertThat(uploadRequestsMatcher.candidates).hasSize(150);
this.server.expect(ExpectedCount.times(150), uploadRequestsMatcher).andExpect(method(HttpMethod.PUT)) this.server.expect(ExpectedCount.times(150), uploadRequestsMatcher).andExpect(method(HttpMethod.PUT))

@ -17,7 +17,6 @@
package org.springframework.boot.util; package org.springframework.boot.util;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
@ -28,7 +27,6 @@ import java.util.Map;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.springframework.core.annotation.AnnotationAwareOrderComparator; import org.springframework.core.annotation.AnnotationAwareOrderComparator;
@ -139,9 +137,7 @@ public class Instantiator<T> {
} }
private List<T> instantiate(Stream<TypeSupplier> typeSuppliers) { private List<T> instantiate(Stream<TypeSupplier> typeSuppliers) {
List<T> instances = typeSuppliers.map(this::instantiate).collect(Collectors.toCollection(ArrayList::new)); return typeSuppliers.map(this::instantiate).sorted(AnnotationAwareOrderComparator.INSTANCE).toList();
AnnotationAwareOrderComparator.sort(instances);
return Collections.unmodifiableList(instances);
} }
private T instantiate(TypeSupplier typeSupplier) { private T instantiate(TypeSupplier typeSupplier) {

Loading…
Cancel
Save