Skip to content

Commit d6b3863

Browse files
authored
Merge branch 'main' into lredor/bug/908-PredicatesEqualTo
2 parents 587f7bd + 0680919 commit d6b3863

File tree

4 files changed

+72
-15
lines changed

4 files changed

+72
-15
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ private J handlePredicatesMethod(J.MethodInvocation method, String operation) {
8484
return method;
8585
}
8686

87-
// If the first argument is a method reference, wrap it with a cast
88-
if (result instanceof J.MemberReference && result.getType() != null) {
87+
// If the first argument is a method reference or a lambda, wrap it with a cast
88+
if ((result instanceof J.MemberReference || result instanceof J.Lambda) && result.getType() != null) {
8989
String typeString = result.getType().toString().replace("com.google.common.base.", "");
9090
result = JavaTemplate.apply("((" + typeString + ") #{any()})", getCursor(), method.getCoordinates().replace(), result);
9191
}

src/main/resources/sdkman-java.csv

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
11.0.28-zulu
1313
11.0.28.fx-librca
1414
11.0.28.fx-zulu
15+
11.0.29-amzn
16+
11.0.29-librca
17+
11.0.29-sapmchn
18+
11.0.29-zulu
19+
11.0.29.fx-librca
1520
17.0.12-graal
1621
17.0.12-oracle
1722
17.0.14-jbr
@@ -29,6 +34,12 @@
2934
17.0.16.crac-zulu
3035
17.0.16.fx-librca
3136
17.0.16.fx-zulu
37+
17.0.17-amzn
38+
17.0.17-librca
39+
17.0.17-sapmchn
40+
17.0.17-tem
41+
17.0.17-zulu
42+
17.0.17.fx-librca
3243
17.0.9-graalce
3344
21.0.2-graalce
3445
21.0.2-open
@@ -49,6 +60,13 @@
4960
21.0.8.crac-zulu
5061
21.0.8.fx-librca
5162
21.0.8.fx-zulu
63+
21.0.9-amzn
64+
21.0.9-graal
65+
21.0.9-librca
66+
21.0.9-oracle
67+
21.0.9-sapmchn
68+
21.0.9-zulu
69+
21.0.9.fx-librca
5270
22.0.2-oracle
5371
22.0.2-sem
5472
22.1.0.1.r11-gln
@@ -99,6 +117,16 @@
99117
25-tem
100118
25-zulu
101119
25.0.0.1.r25-mandrel
120+
25.0.1-amzn
121+
25.0.1-graal
122+
25.0.1-graalce
123+
25.0.1-librca
124+
25.0.1-open
125+
25.0.1-oracle
126+
25.0.1-sapmchn
127+
25.0.1-zulu
128+
25.0.1.fx-librca
129+
25.0.1.fx-zulu
102130
25.crac-zulu
103131
25.fx-librca
104132
25.fx-nik
@@ -109,6 +137,7 @@
109137
26.ea.17-open
110138
26.ea.18-open
111139
26.ea.19-open
140+
26.ea.20-open
112141
6.0.119-zulu
113142
7.0.352-zulu
114143
8.0.282-trava
@@ -121,4 +150,9 @@
121150
8.0.462-tem
122151
8.0.462-zulu
123152
8.0.462.fx-librca
124-
8.0.462.fx-zulu
153+
8.0.462.fx-zulu
154+
8.0.472-amzn
155+
8.0.472-librca
156+
8.0.472-zulu
157+
8.0.472.fx-librca
158+
8u342b07-tem

src/test/java/org/openrewrite/java/migrate/UpdateSdkManTest.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,11 @@ void zuluNonCrac() {
157157
"""
158158
java=11.0.28-zulu
159159
""",
160-
"""
161-
java=17.0.16-zulu
162-
""",
163160
spec -> spec.path(".sdkmanrc")
161+
.after(str -> assertThat(str)
162+
.startsWith("java=17.0.")
163+
.endsWith("-zulu")
164+
.actual())
164165
)
165166
);
166167
}
@@ -173,10 +174,12 @@ void upgradeIfNewVersionIsStillSameVersionBasisAndSameDistribution() {
173174
"""
174175
java=21.0.6-zulu
175176
""",
176-
"""
177-
java=21.0.8-zulu
178-
""",
179177
spec -> spec.path(".sdkmanrc")
178+
.after(str -> assertThat(str)
179+
.startsWith("java=21.0.")
180+
.doesNotContain("21.0.6")
181+
.endsWith("-zulu")
182+
.actual())
180183
)
181184
);
182185
}

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

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,38 @@ void replacePredicatesAndWithLambdas() {
101101
import com.google.common.base.Predicates;
102102
103103
class Test {
104-
Predicate<String> isNotNull = s -> s != null;
105-
Predicate<String> isLong = s -> s.length() > 5;
106-
Predicate<String> combined = Predicates.and(isNotNull, isLong);
104+
Predicate<String> combined = Predicates.and(s -> s != null, s -> s.length() > 5);
107105
}
108106
""",
109107
"""
110108
import com.google.common.base.Predicate;
111109
112110
class Test {
113-
Predicate<String> isNotNull = s -> s != null;
114-
Predicate<String> isLong = s -> s.length() > 5;
115-
Predicate<String> combined = isNotNull.and(isLong);
111+
Predicate<String> combined = ((Predicate<String>) s -> s != null).and(s -> s.length() > 5);
112+
}
113+
"""
114+
)
115+
);
116+
}
117+
118+
@Test
119+
void replacePredicatesOrWithLambdas() {
120+
//language=java
121+
rewriteRun(
122+
java(
123+
"""
124+
import com.google.common.base.Predicate;
125+
import com.google.common.base.Predicates;
126+
127+
class Test {
128+
Predicate<String> combined = Predicates.or(s -> s != null, s -> s.length() > 5);
129+
}
130+
""",
131+
"""
132+
import com.google.common.base.Predicate;
133+
134+
class Test {
135+
Predicate<String> combined = ((Predicate<String>) s -> s != null).or(s -> s.length() > 5);
116136
}
117137
"""
118138
)

0 commit comments

Comments
 (0)