Skip to content

Commit cee0cc1

Browse files
committed
Use Collectors.toList() while we support older Java versions still
1 parent 1ff2a07 commit cee0cc1

File tree

4 files changed

+14
-8
lines changed

4 files changed

+14
-8
lines changed

src/main/java/org/openrewrite/java/migrate/guava/NoGuavaCollections2Transform.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ public class NoGuavaCollections2Transform extends Recipe {
3535

3636
@Override
3737
public String getDisplayName() {
38-
return "Prefer `Collection.stream().transform(Function)`";
38+
return "Prefer `Collection.stream().map(Function)` over `Collections2.transform`";
3939
}
4040

4141
@Override
4242
public String getDescription() {
43-
return "Prefer `Collection.stream().transform(Function)` over `Collections2.transform(Collection, Function)`.";
43+
return "Prefer `Collection.stream().map(Function)` over `Collections2.transform(Collection, Function)`.";
4444
}
4545

4646
@Override
@@ -59,9 +59,11 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
5959
maybeRemoveImport("com.google.common.base.Function");
6060
maybeRemoveImport("com.google.common.collect.Collections2");
6161
maybeAddImport("java.util.function.Function");
62+
maybeAddImport("java.util.stream.Collectors");
6263

6364
if (TypeUtils.isAssignableTo("java.util.Collection", method.getArguments().get(0).getType())) {
64-
return JavaTemplate.builder("#{any(java.util.Collection)}.stream().map(#{any(java.util.function.Function)}).toList()")
65+
return JavaTemplate.builder("#{any(java.util.Collection)}.stream().map(#{any(java.util.function.Function)}).collect(Collectors.toList())")
66+
.imports("java.util.stream.Collectors")
6567
.build()
6668
.apply(getCursor(),
6769
method.getCoordinates().replace(),

src/main/java/org/openrewrite/java/migrate/guava/NoGuavaIterablesTransform.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ public class NoGuavaIterablesTransform extends Recipe {
3535

3636
@Override
3737
public String getDisplayName() {
38-
return "Prefer `Collection.stream().transform(Function)`";
38+
return "Prefer `Collection.stream().map(Function)` over `Iterables.transform`";
3939
}
4040

4141
@Override
4242
public String getDescription() {
43-
return "Prefer `Collection.stream().transform(Function)` over `Iterables.transform(Collection, Function)`.";
43+
return "Prefer `Collection.stream().map(Function)` over `Iterables.transform(Collection, Function)`.";
4444
}
4545

4646
@Override
@@ -59,9 +59,11 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
5959
maybeRemoveImport("com.google.common.base.Function");
6060
maybeRemoveImport("com.google.common.collect.Iterables");
6161
maybeAddImport("java.util.function.Function");
62+
maybeAddImport("java.util.stream.Collectors");
6263

6364
if (TypeUtils.isAssignableTo("java.util.Collection", method.getArguments().get(0).getType())) {
64-
return JavaTemplate.builder("#{any(java.util.Collection)}.stream().map(#{any(java.util.function.Function)}).toList()")
65+
return JavaTemplate.builder("#{any(java.util.Collection)}.stream().map(#{any(java.util.function.Function)}).collect(Collectors.toList())")
66+
.imports("java.util.stream.Collectors")
6567
.build()
6668
.apply(getCursor(),
6769
method.getCoordinates().replace(),

src/test/java/org/openrewrite/java/migrate/guava/NoGuavaCollections2TransformTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,13 @@ Iterable<Integer> test(Collection<String> collection, Function<String, Integer>
5353
""",
5454
"""
5555
import java.util.Collection;
56+
import java.util.stream.Collectors;
5657
5758
import com.google.common.base.Function;
5859
5960
class Test {
6061
Iterable<Integer> test(Collection<String> collection, Function<String, Integer> toSize) {
61-
return collection.stream().map(toSize).toList();
62+
return collection.stream().map(toSize).collect(Collectors.toList());
6263
}
6364
}
6465
"""

src/test/java/org/openrewrite/java/migrate/guava/NoGuavaIterablesTransformTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,13 @@ Iterable<Integer> test(Collection<String> collection, Function<String, Integer>
5353
""",
5454
"""
5555
import java.util.Collection;
56+
import java.util.stream.Collectors;
5657
5758
import com.google.common.base.Function;
5859
5960
class Test {
6061
Iterable<Integer> test(Collection<String> collection, Function<String, Integer> toSize) {
61-
return collection.stream().map(toSize).toList();
62+
return collection.stream().map(toSize).collect(Collectors.toList());
6263
}
6364
}
6465
"""

0 commit comments

Comments
 (0)