Skip to content

Commit e0a5504

Browse files
committed
Replace CollectionUtils.toUnmodifiableList() with Stream.toList()
1 parent c0b6e1e commit e0a5504

File tree

13 files changed

+21
-64
lines changed

13 files changed

+21
-64
lines changed

junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ExclusiveResourceCollector.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import static org.junit.jupiter.api.parallel.ResourceLockTarget.SELF;
1414
import static org.junit.platform.commons.support.AnnotationSupport.findRepeatableAnnotations;
15-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1615

1716
import java.lang.reflect.AnnotatedElement;
1817
import java.util.Collection;
@@ -105,12 +104,16 @@ Stream<ExclusiveResource> getDynamicResources(
105104
private List<ResourceLocksProvider> getProviders() {
106105
if (this.providers == null) {
107106
this.providers = annotations.stream() //
108-
.flatMap(annotation -> Stream.of(annotation.providers()).map(ReflectionUtils::newInstance)) //
109-
.collect(toUnmodifiableList());
107+
.flatMap(annotation -> instantiate(annotation.providers())) //
108+
.toList();
110109
}
111110
return providers;
112111
}
113112

113+
private static Stream<ResourceLocksProvider> instantiate(Class<? extends ResourceLocksProvider>[] providers) {
114+
return Stream.of(providers).map(ReflectionUtils::newInstance);
115+
}
116+
114117
private static ExclusiveResource.LockMode toLockMode(ResourceAccessMode mode) {
115118
return switch (mode) {
116119
case READ -> ExclusiveResource.LockMode.READ;

junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/LifecycleMethodUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import static org.junit.jupiter.engine.support.MethodReflectionUtils.getReturnType;
1414
import static org.junit.platform.commons.support.AnnotationSupport.findAnnotatedMethods;
1515
import static org.junit.platform.commons.support.AnnotationSupport.findAnnotation;
16-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1716
import static org.junit.platform.engine.support.discovery.DiscoveryIssueReporter.Condition.alwaysSatisfied;
1817

1918
import java.lang.annotation.Annotation;
@@ -134,7 +133,7 @@ private static List<Method> findMethodsAndCheckVoidReturnType(Class<?> testClass
134133
.peek(isNotPrivateWarning(issueReporter, annotationType::getSimpleName).toConsumer()) //
135134
.filter(returnsPrimitiveVoid(issueReporter, __ -> annotationType.getSimpleName()).and(
136135
additionalCondition).toPredicate()) //
137-
.collect(toUnmodifiableList());
136+
.toList();
138137
}
139138

140139
private static Condition<Method> isStatic(DiscoveryIssueReporter issueReporter,

junit-jupiter-params/src/main/java/org/junit/jupiter/params/ParameterizedClassContext.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import static org.junit.platform.commons.support.HierarchyTraversalMode.BOTTOM_UP;
1919
import static org.junit.platform.commons.support.HierarchyTraversalMode.TOP_DOWN;
2020
import static org.junit.platform.commons.support.ReflectionSupport.findFields;
21-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
2221
import static org.junit.platform.commons.util.ReflectionUtils.isRecordClass;
2322

2423
import java.lang.annotation.Annotation;
@@ -161,7 +160,7 @@ private static <A extends Annotation> List<ArgumentSetLifecycleMethod> findLifec
161160
}
162161
return new ArgumentSetLifecycleMethod(method);
163162
}) //
164-
.collect(toUnmodifiableList());
163+
.toList();
165164
}
166165

167166
private static <A extends Annotation> A getAnnotation(Method method, Class<A> annotationType) {

junit-platform-commons/src/main/java/org/junit/platform/commons/util/AnnotationUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import static java.util.Arrays.asList;
1414
import static java.util.Objects.requireNonNull;
1515
import static org.apiguardian.api.API.Status.INTERNAL;
16-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1716
import static org.junit.platform.commons.util.ReflectionUtils.isInnerClass;
1817

1918
import java.lang.annotation.Annotation;
@@ -454,7 +453,7 @@ public static List<Field> findPublicAnnotatedFields(Class<?> clazz, Class<?> fie
454453
// @formatter:off
455454
return Arrays.stream(clazz.getFields())
456455
.filter(field -> fieldType.isAssignableFrom(field.getType()) && isAnnotated(field, annotationType))
457-
.collect(toUnmodifiableList());
456+
.toList();
458457
// @formatter:on
459458
}
460459

junit-platform-commons/src/main/java/org/junit/platform/commons/util/CollectionUtils.java

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212

1313
import static java.util.Spliterator.ORDERED;
1414
import static java.util.Spliterators.spliteratorUnknownSize;
15-
import static java.util.stream.Collectors.collectingAndThen;
16-
import static java.util.stream.Collectors.toList;
1715
import static java.util.stream.StreamSupport.stream;
1816
import static org.apiguardian.api.API.Status.INTERNAL;
1917
import static org.junit.platform.commons.support.ReflectionSupport.invokeMethod;
@@ -22,13 +20,11 @@
2220
import java.lang.reflect.Method;
2321
import java.util.Arrays;
2422
import java.util.Collection;
25-
import java.util.Collections;
2623
import java.util.Iterator;
2724
import java.util.List;
2825
import java.util.ListIterator;
2926
import java.util.Optional;
3027
import java.util.function.Consumer;
31-
import java.util.stream.Collector;
3228
import java.util.stream.DoubleStream;
3329
import java.util.stream.IntStream;
3430
import java.util.stream.LongStream;
@@ -94,28 +90,6 @@ private CollectionUtils() {
9490
: collection.iterator().next();
9591
}
9692

97-
/**
98-
* Return a {@code Collector} that accumulates the input elements into a
99-
* new unmodifiable list, in encounter order.
100-
*
101-
* <p>There are no guarantees on the type or serializability of the list
102-
* returned, so if more control over the returned list is required,
103-
* consider creating a new {@code Collector} implementation like the
104-
* following:
105-
*
106-
* <pre class="code">
107-
* public static &lt;T&gt; Collector&lt;T, ?, List&lt;T&gt;&gt; toUnmodifiableList(Supplier&lt;List&lt;T&gt;&gt; listSupplier) {
108-
* return Collectors.collectingAndThen(Collectors.toCollection(listSupplier), Collections::unmodifiableList);
109-
* }</pre>
110-
*
111-
* @param <T> the type of the input elements
112-
* @return a {@code Collector} which collects all the input elements into
113-
* an unmodifiable list, in encounter order
114-
*/
115-
public static <T extends @Nullable Object> Collector<T, ?, List<T>> toUnmodifiableList() {
116-
return collectingAndThen(toList(), Collections::unmodifiableList);
117-
}
118-
11993
/**
12094
* Determine if an instance of the supplied type can be converted into a
12195
* {@code Stream}.

junit-platform-commons/src/main/java/org/junit/platform/commons/util/ReflectionUtils.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import static java.util.stream.Collectors.toSet;
1717
import static org.apiguardian.api.API.Status.INTERNAL;
1818
import static org.apiguardian.api.API.Status.STABLE;
19-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
2019
import static org.junit.platform.commons.util.PackageNameUtils.getPackageName;
2120
import static org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode.BOTTOM_UP;
2221
import static org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode.TOP_DOWN;
@@ -707,7 +706,7 @@ public static List<Object> readFieldValues(List<Field> fields, @Nullable Object
707706
.map(field ->
708707
tryToReadFieldValue(field, instance)
709708
.getOrThrow(ExceptionUtils::throwAsUncheckedException))
710-
.collect(toUnmodifiableList());
709+
.toList();
711710
// @formatter:on
712711
}
713712

@@ -1314,7 +1313,7 @@ public static List<Constructor<?>> findConstructors(Class<?> clazz, Predicate<Co
13141313
// @formatter:off
13151314
return Arrays.stream(clazz.getDeclaredConstructors())
13161315
.filter(predicate)
1317-
.collect(toUnmodifiableList());
1316+
.toList();
13181317
// @formatter:on
13191318
}
13201319
catch (Throwable t) {
@@ -1328,7 +1327,7 @@ public static List<Constructor<?>> findConstructors(Class<?> clazz, Predicate<Co
13281327
public static List<Field> findFields(Class<?> clazz, Predicate<Field> predicate,
13291328
HierarchyTraversalMode traversalMode) {
13301329

1331-
return streamFields(clazz, predicate, traversalMode).collect(toUnmodifiableList());
1330+
return streamFields(clazz, predicate, traversalMode).toList();
13321331
}
13331332

13341333
/**
@@ -1594,7 +1593,7 @@ public static List<Method> findMethods(Class<?> clazz, Predicate<Method> predica
15941593
public static List<Method> findMethods(Class<?> clazz, Predicate<Method> predicate,
15951594
HierarchyTraversalMode traversalMode) {
15961595

1597-
return streamMethods(clazz, predicate, traversalMode).collect(toUnmodifiableList());
1596+
return streamMethods(clazz, predicate, traversalMode).toList();
15981597
}
15991598

16001599
/**

junit-platform-engine/src/main/java/org/junit/platform/engine/discovery/DiscoverySelectors.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import static java.util.stream.Collectors.toList;
1414
import static org.apiguardian.api.API.Status.EXPERIMENTAL;
1515
import static org.apiguardian.api.API.Status.STABLE;
16-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1716

1817
import java.io.File;
1918
import java.io.IOException;
@@ -262,7 +261,7 @@ public static List<ClasspathRootSelector> selectClasspathRoots(Set<Path> classpa
262261
.map(Path::toUri)
263262
.map(ClasspathRootSelector::new)
264263
// unmodifiable since selectClasspathRoots is a public, non-internal method
265-
.collect(toUnmodifiableList());
264+
.toList();
266265
// @formatter:on
267266
}
268267

@@ -394,7 +393,7 @@ public static List<ModuleSelector> selectModules(Set<String> moduleNames) {
394393
return moduleNames.stream()
395394
.map(DiscoverySelectors::selectModule)
396395
// unmodifiable since this is a public, non-internal method
397-
.collect(toUnmodifiableList());
396+
.toList();
398397
// @formatter:on
399398
}
400399

junit-platform-engine/src/main/java/org/junit/platform/engine/discovery/NestedClassSelector.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import static org.apiguardian.api.API.Status.EXPERIMENTAL;
1616
import static org.apiguardian.api.API.Status.INTERNAL;
1717
import static org.apiguardian.api.API.Status.STABLE;
18-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1918

2019
import java.util.Arrays;
2120
import java.util.List;
@@ -65,7 +64,7 @@ public class NestedClassSelector implements DiscoverySelector {
6564
this.classLoader = classLoader;
6665
this.enclosingClassSelectors = enclosingClassNames.stream() //
6766
.map(className -> new ClassSelector(classLoader, className)) //
68-
.collect(toUnmodifiableList());
67+
.toList();
6968
this.nestedClassSelector = new ClassSelector(classLoader, nestedClassName);
7069
}
7170

junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/LockManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import static java.util.stream.Collectors.groupingBy;
1616
import static java.util.stream.Collectors.toList;
1717
import static org.junit.platform.commons.util.CollectionUtils.getOnlyElement;
18-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1918
import static org.junit.platform.engine.support.hierarchical.ExclusiveResource.GLOBAL_READ;
2019
import static org.junit.platform.engine.support.hierarchical.ExclusiveResource.GLOBAL_READ_WRITE;
2120
import static org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode.READ;
@@ -66,7 +65,7 @@ private List<ExclusiveResource> toDistinctSortedResources(Collection<ExclusiveRe
6665

6766
return resourcesByKey.values().stream()
6867
.map(resourcesWithSameKey -> resourcesWithSameKey.get(0))
69-
.collect(toUnmodifiableList());
68+
.toList();
7069
// @formatter:on
7170
}
7271

@@ -89,7 +88,7 @@ private SingleLock toSingleLock(ExclusiveResource resource) {
8988
}
9089

9190
private List<Lock> toLocks(List<ExclusiveResource> resources) {
92-
return resources.stream().map(this::toLock).collect(toUnmodifiableList());
91+
return resources.stream().map(this::toLock).toList();
9392
}
9493

9594
private Lock toLock(ExclusiveResource resource) {

junit-platform-launcher/src/main/java/org/junit/platform/launcher/TagFilter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import static java.util.Arrays.asList;
1414
import static org.apiguardian.api.API.Status.STABLE;
15-
import static org.junit.platform.commons.util.CollectionUtils.toUnmodifiableList;
1615

1716
import java.util.List;
1817
import java.util.Set;
@@ -173,7 +172,7 @@ private static String formatToString(List<String> tagExpressions) {
173172
}
174173

175174
private static List<TagExpression> parseAll(List<String> tagExpressions) {
176-
return tagExpressions.stream().map(TagFilter::parse).collect(toUnmodifiableList());
175+
return tagExpressions.stream().map(TagFilter::parse).toList();
177176
}
178177

179178
private static TagExpression parse(@Nullable String tagExpression) {

0 commit comments

Comments
 (0)