Skip to content

Commit 96f123c

Browse files
committed
wip
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
1 parent 8306e08 commit 96f123c

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

migration/src/main/resources/META-INF/rewrite/v5-3-migration.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ recipeList:
7070
methodPattern: "io.javaoperatorsdk.operator.api.monitoring.Metrics reconciliationExecutionFinished(..)"
7171
newMethodName: reconciliationSucceeded
7272
matchOverrides: true
73+
- org.openrewrite.java.AddNullMethodArgument:
74+
methodPattern: "io.javaoperatorsdk.operator.api.monitoring.Metrics failedReconciliation(..)"
75+
argumentIndex: 1
76+
parameterType: io.javaoperatorsdk.operator.api.reconciler.RetryInfo
7377
- org.openrewrite.java.ChangeMethodName:
7478
methodPattern: "io.javaoperatorsdk.operator.api.monitoring.Metrics failedReconciliation(..)"
7579
newMethodName: reconciliationFailed
@@ -79,6 +83,10 @@ recipeList:
7983
parameterType: io.javaoperatorsdk.operator.api.reconciler.RetryInfo
8084
parameterName: retryInfo
8185
parameterIndex: 1
86+
- org.openrewrite.java.AddNullMethodArgument:
87+
methodPattern: "io.javaoperatorsdk.operator.api.monitoring.Metrics finishedReconciliation(..)"
88+
argumentIndex: 1
89+
parameterType: io.javaoperatorsdk.operator.api.reconciler.RetryInfo
8290
- org.openrewrite.java.ChangeMethodName:
8391
methodPattern: "io.javaoperatorsdk.operator.api.monitoring.Metrics finishedReconciliation(..)"
8492
newMethodName: reconciliationFinished

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

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,73 @@ default void reconciliationFinished(Object resource, RetryInfo retryInfo, Map<St
279279
"""));
280280
}
281281

282+
@Test
283+
void addsNullRetryInfoArgumentToInvocations() {
284+
rewriteRun(
285+
// Stub for the Metrics interface with old method names
286+
// language=java
287+
java(
288+
"""
289+
package io.javaoperatorsdk.operator.api.monitoring;
290+
291+
import java.util.Map;
292+
293+
public interface Metrics {
294+
default void failedReconciliation(Object resource, Exception exception, Map<String, Object> metadata) {}
295+
default void finishedReconciliation(Object resource, Map<String, Object> metadata) {}
296+
}
297+
""",
298+
"""
299+
package io.javaoperatorsdk.operator.api.monitoring;
300+
301+
import io.javaoperatorsdk.operator.api.reconciler.RetryInfo;
302+
303+
import java.util.Map;
304+
305+
public interface Metrics {
306+
default void reconciliationFailed(Object resource, RetryInfo retryInfo, Exception exception, Map<String, Object> metadata) {}
307+
308+
default void reconciliationFinished(Object resource, RetryInfo retryInfo, Map<String, Object> metadata) {}
309+
}
310+
"""),
311+
// Stub for RetryInfo
312+
// language=java
313+
java(
314+
"""
315+
package io.javaoperatorsdk.operator.api.reconciler;
316+
public interface RetryInfo {}
317+
"""),
318+
// Class that calls the old methods
319+
// language=java
320+
java(
321+
"""
322+
package com.example;
323+
324+
import java.util.Map;
325+
import io.javaoperatorsdk.operator.api.monitoring.Metrics;
326+
327+
public class MetricsCaller {
328+
public void report(Metrics metrics, Object resource, Exception ex, Map<String, Object> meta) {
329+
metrics.failedReconciliation(resource, ex, meta);
330+
metrics.finishedReconciliation(resource, meta);
331+
}
332+
}
333+
""",
334+
"""
335+
package com.example;
336+
337+
import java.util.Map;
338+
import io.javaoperatorsdk.operator.api.monitoring.Metrics;
339+
340+
public class MetricsCaller {
341+
public void report(Metrics metrics, Object resource, Exception ex, Map<String, Object> meta) {
342+
metrics.reconciliationFailed(resource, null, ex, meta);
343+
metrics.reconciliationFinished(resource, null, meta);
344+
}
345+
}
346+
"""));
347+
}
348+
282349
@Test
283350
void relocatesResourceActionImport() {
284351
rewriteRun(

0 commit comments

Comments
 (0)