Skip to content

Commit edb20f3

Browse files
committed
wip
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
1 parent 77e94fb commit edb20f3

File tree

2 files changed

+33
-5
lines changed

2 files changed

+33
-5
lines changed

migration/src/main/java/io/javaoperatorsdk/operator/migration/RemoveMethodDeclaration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
5656
@Override
5757
public J.MethodDeclaration visitMethodDeclaration(
5858
J.MethodDeclaration method, ExecutionContext ctx) {
59+
if (method.getMethodType() != null && matcher.matches(method.getMethodType())) {
60+
//noinspection DataFlowIssue
61+
return null;
62+
}
5963
var classDecl = getCursor().firstEnclosing(J.ClassDeclaration.class);
6064
if (classDecl != null && matcher.matches(method, classDecl)) {
6165
//noinspection DataFlowIssue

migration/src/test/java/io/javaoperatorsdk/operator/migration/V53MigrationTest.java

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,9 @@ public void reconciliationSubmitted(Object resource, Object retryInfo, Map<Strin
176176
}
177177

178178
@Test
179-
void removesMonitorSizeOfFromImplementation() {
179+
void removesMonitorSizeOfFromImplementationWithGenerics() {
180180
rewriteRun(
181-
// Stub for the Metrics interface
181+
// Stub for the Metrics interface with generic monitorSizeOf
182182
// language=java
183183
java(
184184
"""
@@ -188,7 +188,7 @@ void removesMonitorSizeOfFromImplementation() {
188188
189189
public interface Metrics {
190190
default void eventReceived(Object event, Map<String, Object> metadata) {}
191-
default Map<String, Object> monitorSizeOf(Map<String, Object> map) { return map; }
191+
default <T extends Map<?, ?>> T monitorSizeOf(T map, String name) { return map; }
192192
}
193193
""",
194194
"""
@@ -200,7 +200,7 @@ public interface Metrics {
200200
default void eventReceived(Object event, Map<String, Object> metadata) {}
201201
}
202202
"""),
203-
// Implementation that overrides monitorSizeOf
203+
// Implementation that overrides monitorSizeOf with generic signature
204204
// language=java
205205
java(
206206
"""
@@ -216,7 +216,7 @@ public void eventReceived(Object event, Map<String, Object> metadata) {
216216
}
217217
218218
@Override
219-
public Map<String, Object> monitorSizeOf(Map<String, Object> map) {
219+
public <T extends Map<?, ?>> T monitorSizeOf(T map, String name) {
220220
System.out.println("monitoring size");
221221
return map;
222222
}
@@ -234,6 +234,30 @@ public void eventReceived(Object event, Map<String, Object> metadata) {
234234
System.out.println("event");
235235
}
236236
}
237+
"""),
238+
// Implementation without @Override annotation
239+
// language=java
240+
java(
241+
"""
242+
package com.example;
243+
244+
import java.util.Map;
245+
import io.javaoperatorsdk.operator.api.monitoring.Metrics;
246+
247+
public class AnotherMetrics implements Metrics {
248+
public <T extends Map<?, ?>> T monitorSizeOf(T map, String name) {
249+
return map;
250+
}
251+
}
252+
""",
253+
"""
254+
package com.example;
255+
256+
import java.util.Map;
257+
import io.javaoperatorsdk.operator.api.monitoring.Metrics;
258+
259+
public class AnotherMetrics implements Metrics {
260+
}
237261
"""));
238262
}
239263

0 commit comments

Comments
 (0)