Skip to content

Commit 3985c43

Browse files
committed
Polish. Update template to account for types in MigrateCollectionsUnmodifiableList and MigrateCollectionsUnmodifiableSet.
1 parent 79a7d3b commit 3985c43

File tree

4 files changed

+44
-2
lines changed

4 files changed

+44
-2
lines changed

src/main/java/org/openrewrite/java/migrate/lang/MigrateCollectionsUnmodifiableList.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext execu
7676

7777
StringJoiner setOf = new StringJoiner(", ", "List.of(", ")");
7878
List<Expression> args = arraysInvocation.getArguments();
79-
args.forEach(o -> setOf.add("#{}"));
79+
args.forEach(o -> setOf.add("#{any()}"));
8080

8181
return autoFormat(m.withTemplate(
8282
JavaTemplate

src/main/java/org/openrewrite/java/migrate/lang/MigrateCollectionsUnmodifiableSet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext execu
7777

7878
StringJoiner setOf = new StringJoiner(", ", "Set.of(", ")");
7979
List<Expression> args = ((J.MethodInvocation) newSet.getArguments().get(0)).getArguments();
80-
args.forEach(o -> setOf.add("#{}"));
80+
args.forEach(o -> setOf.add("#{any()}"));
8181

8282
return autoFormat(m.withTemplate(
8383
JavaTemplate

src/test/kotlin/org/openrewrite/java/migrate/lang/MigrateCollectionsUnmodifiableListTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,25 @@ class MigrateCollectionsUnmodifiableListTest : JavaRecipeTest {
4242
}
4343
"""
4444
)
45+
46+
@Issue("https://github.com/openrewrite/rewrite-migrate-java/issues/67")
47+
@Test
48+
fun unmodifiableListTyped() = assertChanged(
49+
before = """
50+
import java.util.*;
51+
import java.time.LocalDate;
52+
53+
class Test {
54+
List<LocalDate> s = Collections.unmodifiableList(Arrays.asList(LocalDate.of(2010,1,1),LocalDate.now()));
55+
}
56+
""",
57+
after = """
58+
import java.util.List;
59+
import java.time.LocalDate;
60+
61+
class Test {
62+
List<LocalDate> s = List.of(LocalDate.of(2010, 1, 1), LocalDate.now());
63+
}
64+
"""
65+
)
4566
}

src/test/kotlin/org/openrewrite/java/migrate/lang/MigrateCollectionsUnmodifiableSetTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,25 @@ class MigrateCollectionsUnmodifiableSetTest : JavaRecipeTest {
4242
}
4343
"""
4444
)
45+
46+
@Issue("https://github.com/openrewrite/rewrite-migrate-java/issues/67")
47+
@Test
48+
fun unmodifiableSetTyped() = assertChanged(
49+
before = """
50+
import java.util.*;
51+
import java.time.LocalDate;
52+
53+
class Test {
54+
Set<LocalDate> s = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(LocalDate.of(2010,1,1),LocalDate.now())));
55+
}
56+
""",
57+
after = """
58+
import java.util.Set;
59+
import java.time.LocalDate;
60+
61+
class Test {
62+
Set<LocalDate> s = Set.of(LocalDate.of(2010, 1, 1), LocalDate.now());
63+
}
64+
"""
65+
)
4566
}

0 commit comments

Comments
 (0)