@@ -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