Skip to content

Commit 94f546a

Browse files
committed
refactor: remove Cleaner interface
1 parent 2d885f1 commit 94f546a

File tree

5 files changed

+12
-30
lines changed

5 files changed

+12
-30
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/Cleaner.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/DependentResource.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ default EventSource initEventSource(EventSourceContext<P> context) {
1111
throw new IllegalStateException("Must be implemented if not automatically provided by the SDK");
1212
}
1313

14+
@SuppressWarnings("unchecked")
1415
default Class<R> resourceType() {
1516
return (Class<R>) Utils.getFirstTypeArgumentFromInterface(getClass());
1617
}
1718

19+
default void delete(R fetched, P primary, Context context) {}
20+
1821
/**
1922
* todo: return Optional<R></R> instead?
2023
*

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceController.java

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,19 @@
44
import io.javaoperatorsdk.operator.api.config.dependent.DependentResourceConfiguration;
55
import io.javaoperatorsdk.operator.api.reconciler.Context;
66
import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
7-
import io.javaoperatorsdk.operator.api.reconciler.dependent.Cleaner;
87
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource;
98
import io.javaoperatorsdk.operator.api.reconciler.dependent.Persister;
109
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
1110

1211
public class DependentResourceController<R, P extends HasMetadata, C extends DependentResourceConfiguration<R, P>>
13-
implements DependentResource<R, P>, Persister<R, P>, Cleaner<R, P> {
12+
implements DependentResource<R, P>, Persister<R, P> {
1413

15-
private final Cleaner<R, P> cleaner;
1614
private final Persister<R, P> persister;
1715
private final DependentResource<R, P> delegate;
1816
private final C configuration;
19-
20-
@SuppressWarnings("unchecked")
17+
2118
public DependentResourceController(DependentResource<R, P> delegate, C configuration) {
2219
this.delegate = delegate;
23-
cleaner = (delegate instanceof Cleaner) ? (Cleaner<R, P>) delegate : null;
2420
persister = initPersister(delegate);
2521
this.configuration = configuration;
2622
}
@@ -40,6 +36,11 @@ public R desired(P primary, Context context) {
4036
return delegate.desired(primary, context);
4137
}
4238

39+
@Override
40+
public void delete(R fetched, P primary, Context context) {
41+
delegate.delete(fetched, primary, context);
42+
}
43+
4344
@SuppressWarnings("unchecked")
4445
protected Persister<R, P> initPersister(DependentResource<R, P> delegate) {
4546
if (delegate instanceof Persister) {
@@ -54,11 +55,6 @@ public String descriptionFor(R resource) {
5455
return resource.toString();
5556
}
5657

57-
@Override
58-
public void delete(R fetched, P primary, Context context) {
59-
cleaner.delete(fetched, primary, context);
60-
}
61-
6258
public Class<R> getResourceType() {
6359
return delegate.resourceType();
6460
}
@@ -68,10 +64,6 @@ public EventSource initEventSource(EventSourceContext<P> context) {
6864
return delegate.initEventSource(context);
6965
}
7066

71-
public boolean deletable() {
72-
return cleaner != null;
73-
}
74-
7567
@Override
7668
public void createOrReplace(R dependentResource, Context context) {
7769
persister.createOrReplace(dependentResource, context);

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceManager.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ public UpdateControl<R> reconcile(R resource, Context context) {
8585
public DeleteControl cleanup(R resource, Context context) {
8686
initContextIfNeeded(resource, context);
8787

88-
dependents.stream()
89-
.filter(DependentResourceController::deletable)
90-
.forEach(dependent -> {
88+
dependents.forEach(dependent -> {
9189
var dependentResource = dependent.getFor(resource, context);
9290
if (dependentResource != null) {
9391
dependent.delete(dependentResource, resource, context);

sample-operators/mysql-schema/src/main/java/io/javaoperatorsdk/operator/sample/SchemaDependentResource.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import io.javaoperatorsdk.operator.api.reconciler.Context;
88
import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
9-
import io.javaoperatorsdk.operator.api.reconciler.dependent.Cleaner;
109
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource;
1110
import io.javaoperatorsdk.operator.api.reconciler.dependent.Persister;
1211
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
@@ -17,8 +16,7 @@
1716
import static java.lang.String.format;
1817

1918
public class SchemaDependentResource
20-
implements DependentResource<Schema, MySQLSchema>, Cleaner<Schema, MySQLSchema>,
21-
Persister<Schema, MySQLSchema> {
19+
implements DependentResource<Schema, MySQLSchema>, Persister<Schema, MySQLSchema> {
2220

2321
private static final int POLL_PERIOD = 500;
2422
private MySQLDbConfig dbConfig;

0 commit comments

Comments
 (0)