diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java index 897664e08a..ea1e020bfb 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractDependentResource.java @@ -85,9 +85,7 @@ protected ReconcileResult reconcile(P primary, R actualResource, Context

c return ReconcileResult.noOperation(actualResource); } - public Result match(R resource, P primary, Context

context) { - return updater.match(resource, primary, context); - } + public abstract Result match(R resource, P primary, Context

context); @Override public Optional getSecondaryResource(P primary, Context

context) { diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java index 4fb4c9bcd6..ef825ef71f 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java @@ -76,6 +76,11 @@ protected void handleExplicitStateCreation(P primary, R created, Context

cont } } + @Override + public Matcher.Result match(R resource, P primary, Context

context) { + var desired = desired(primary, context); + return Matcher.Result.computed(resource.equals(desired), desired); + } @SuppressWarnings("unchecked") public void deleteTargetResource(P primary, R resource, String key,