Skip to content

Commit 3e87067

Browse files
csvirimetacosm
authored andcommitted
improve: remove deprecated EventFilter (#2208)
Signed-off-by: Attila Mészáros <[email protected]>
1 parent e9d1a1f commit 3e87067

File tree

15 files changed

+2
-504
lines changed

15 files changed

+2
-504
lines changed

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/BaseConfigurationService.java

-30
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource;
2626
import io.javaoperatorsdk.operator.processing.dependent.workflow.Condition;
2727
import io.javaoperatorsdk.operator.processing.event.rate.RateLimiter;
28-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
29-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilters;
3028
import io.javaoperatorsdk.operator.processing.event.source.filter.GenericFilter;
3129
import io.javaoperatorsdk.operator.processing.event.source.filter.OnAddFilter;
3230
import io.javaoperatorsdk.operator.processing.event.source.filter.OnUpdateFilter;
@@ -163,40 +161,12 @@ protected <P extends HasMetadata> ControllerConfiguration<P> configFor(Reconcile
163161
Utils.instantiate(annotation.itemStore(), ItemStore.class, context), dependentFieldManager,
164162
this, informerListLimit);
165163

166-
ResourceEventFilter<P> answer = deprecatedEventFilter(annotation);
167-
config.setEventFilter(answer != null ? answer : ResourceEventFilters.passthrough());
168-
169164
List<DependentResourceSpec> specs = dependentResources(annotation, config);
170165
config.setDependentResources(specs);
171166

172167
return config;
173168
}
174169

175-
@SuppressWarnings("unchecked")
176-
private static <P extends HasMetadata> ResourceEventFilter<P> deprecatedEventFilter(
177-
io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration annotation) {
178-
ResourceEventFilter<P> answer = null;
179-
180-
Class<ResourceEventFilter<P>>[] filterTypes =
181-
(Class<ResourceEventFilter<P>>[]) valueOrDefault(annotation,
182-
io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration::eventFilters,
183-
new Object[] {});
184-
for (var filterType : filterTypes) {
185-
try {
186-
ResourceEventFilter<P> filter = filterType.getConstructor().newInstance();
187-
188-
if (answer == null) {
189-
answer = filter;
190-
} else {
191-
answer = answer.and(filter);
192-
}
193-
} catch (Exception e) {
194-
throw new IllegalArgumentException(e);
195-
}
196-
}
197-
return answer;
198-
}
199-
200170
@SuppressWarnings({"unchecked", "rawtypes"})
201171
private static List<DependentResourceSpec> dependentResources(
202172
io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration annotation,

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfiguration.java

-21
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import io.javaoperatorsdk.operator.api.reconciler.MaxReconciliationInterval;
1313
import io.javaoperatorsdk.operator.processing.event.rate.LinearRateLimiter;
1414
import io.javaoperatorsdk.operator.processing.event.rate.RateLimiter;
15-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
16-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilters;
1715
import io.javaoperatorsdk.operator.processing.retry.GenericRetry;
1816
import io.javaoperatorsdk.operator.processing.retry.GradualRetry;
1917
import io.javaoperatorsdk.operator.processing.retry.Retry;
@@ -83,25 +81,6 @@ default RateLimiter getRateLimiter() {
8381
return DEFAULT_RATE_LIMITER;
8482
}
8583

86-
/**
87-
* Allow controllers to filter events before they are passed to the
88-
* {@link io.javaoperatorsdk.operator.processing.event.EventHandler}.
89-
*
90-
* <p>
91-
* Resource event filters only applies on events of the main custom resource. Not on events from
92-
* other event sources nor the periodic events.
93-
* </p>
94-
*
95-
* @return filter
96-
* @deprecated use {@link ResourceConfiguration#onAddFilter()},
97-
* {@link ResourceConfiguration#onUpdateFilter()} or
98-
* {@link ResourceConfiguration#genericFilter()} instead
99-
*/
100-
@Deprecated(forRemoval = true)
101-
default ResourceEventFilter<P> getEventFilter() {
102-
return ResourceEventFilters.passthrough();
103-
}
104-
10584
@SuppressWarnings("rawtypes")
10685
default List<DependentResourceSpec> getDependentResources() {
10786
return Collections.emptyList();

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfigurationOverrider.java

+1-24
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@
1111
import io.fabric8.kubernetes.client.informers.cache.ItemStore;
1212
import io.javaoperatorsdk.operator.api.config.dependent.DependentResourceSpec;
1313
import io.javaoperatorsdk.operator.processing.event.rate.RateLimiter;
14-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
1514
import io.javaoperatorsdk.operator.processing.event.source.filter.GenericFilter;
1615
import io.javaoperatorsdk.operator.processing.event.source.filter.OnAddFilter;
1716
import io.javaoperatorsdk.operator.processing.event.source.filter.OnUpdateFilter;
18-
import io.javaoperatorsdk.operator.processing.retry.GenericRetry;
1917
import io.javaoperatorsdk.operator.processing.retry.Retry;
2018

2119
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;
@@ -29,7 +27,6 @@ public class ControllerConfigurationOverrider<R extends HasMetadata> {
2927
private Set<String> namespaces;
3028
private Retry retry;
3129
private String labelSelector;
32-
private ResourceEventFilter<R> customResourcePredicate;
3330
private final ControllerConfiguration<R> original;
3431
private Duration reconciliationMaxInterval;
3532
private OnAddFilter<? super R> onAddFilter;
@@ -48,7 +45,6 @@ private ControllerConfigurationOverrider(ControllerConfiguration<R> original) {
4845
this.namespaces = new HashSet<>(original.getNamespaces());
4946
this.retry = original.getRetry();
5047
this.labelSelector = original.getLabelSelector();
51-
this.customResourcePredicate = original.getEventFilter();
5248
this.reconciliationMaxInterval = original.maxReconciliationInterval().orElse(null);
5349
this.onAddFilter = original.onAddFilter().orElse(null);
5450
this.onUpdateFilter = original.onUpdateFilter().orElse(null);
@@ -110,17 +106,6 @@ public ControllerConfigurationOverrider<R> watchingAllNamespaces() {
110106
return this;
111107
}
112108

113-
/**
114-
* @param retry configuration
115-
* @return current instance of overrider
116-
* @deprecated Use {@link #withRetry(Retry)} instead
117-
*/
118-
@Deprecated(forRemoval = true)
119-
public ControllerConfigurationOverrider<R> withRetry(RetryConfiguration retry) {
120-
this.retry = GenericRetry.fromConfiguration(retry);
121-
return this;
122-
}
123-
124109
public ControllerConfigurationOverrider<R> withRetry(Retry retry) {
125110
this.retry = retry;
126111
return this;
@@ -136,12 +121,6 @@ public ControllerConfigurationOverrider<R> withLabelSelector(String labelSelecto
136121
return this;
137122
}
138123

139-
public ControllerConfigurationOverrider<R> withCustomResourcePredicate(
140-
ResourceEventFilter<R> customResourcePredicate) {
141-
this.customResourcePredicate = customResourcePredicate;
142-
return this;
143-
}
144-
145124
public ControllerConfigurationOverrider<R> withReconciliationMaxInterval(
146125
Duration reconciliationMaxInterval) {
147126
this.reconciliationMaxInterval = reconciliationMaxInterval;
@@ -210,15 +189,13 @@ public ControllerConfigurationOverrider<R> replacingNamedDependentResourceConfig
210189
}
211190

212191
public ControllerConfiguration<R> build() {
213-
final var overridden = new ResolvedControllerConfiguration<>(original.getResourceClass(),
192+
return new ResolvedControllerConfiguration<>(original.getResourceClass(),
214193
name,
215194
generationAware, original.getAssociatedReconcilerClassName(), retry, rateLimiter,
216195
reconciliationMaxInterval, onAddFilter, onUpdateFilter, genericFilter,
217196
original.getDependentResources(),
218197
namespaces, finalizer, labelSelector, configurations, itemStore, fieldManager,
219198
original.getConfigurationService(), informerListLimit);
220-
overridden.setEventFilter(customResourcePredicate);
221-
return overridden;
222199
}
223200

224201
public static <R extends HasMetadata> ControllerConfigurationOverrider<R> override(

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResolvedControllerConfiguration.java

-17
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import io.javaoperatorsdk.operator.api.config.dependent.DependentResourceSpec;
1111
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
1212
import io.javaoperatorsdk.operator.processing.event.rate.RateLimiter;
13-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
1413
import io.javaoperatorsdk.operator.processing.event.source.filter.GenericFilter;
1514
import io.javaoperatorsdk.operator.processing.event.source.filter.OnAddFilter;
1615
import io.javaoperatorsdk.operator.processing.event.source.filter.OnUpdateFilter;
@@ -34,7 +33,6 @@ public class ResolvedControllerConfiguration<P extends HasMetadata>
3433
private final ConfigurationService configurationService;
3534
private final String fieldManager;
3635

37-
private ResourceEventFilter<P> eventFilter;
3836
private List<DependentResourceSpec> dependentResources;
3937

4038
public ResolvedControllerConfiguration(Class<P> resourceClass, ControllerConfiguration<P> other) {
@@ -166,21 +164,6 @@ public ConfigurationService getConfigurationService() {
166164
return configurationService;
167165
}
168166

169-
@Override
170-
public ResourceEventFilter<P> getEventFilter() {
171-
return eventFilter;
172-
}
173-
174-
/**
175-
* @deprecated Use {@link OnAddFilter}, {@link OnUpdateFilter} and {@link GenericFilter} instead
176-
*
177-
* @param eventFilter generic event filter
178-
*/
179-
@Deprecated(forRemoval = true)
180-
protected void setEventFilter(ResourceEventFilter<P> eventFilter) {
181-
this.eventFilter = eventFilter;
182-
}
183-
184167
@Override
185168
public Object getConfigurationFor(DependentResourceSpec spec) {
186169
return configurations.get(spec);

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/ControllerConfiguration.java

-14
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.javaoperatorsdk.operator.processing.event.rate.LinearRateLimiter;
1212
import io.javaoperatorsdk.operator.processing.event.rate.RateLimiter;
1313
import io.javaoperatorsdk.operator.processing.event.source.cache.BoundedItemStore;
14-
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
1514
import io.javaoperatorsdk.operator.processing.event.source.filter.GenericFilter;
1615
import io.javaoperatorsdk.operator.processing.event.source.filter.OnAddFilter;
1716
import io.javaoperatorsdk.operator.processing.event.source.filter.OnUpdateFilter;
@@ -64,19 +63,6 @@
6463
*/
6564
String labelSelector() default Constants.NO_VALUE_SET;
6665

67-
/**
68-
* @deprecated Use onAddFilter, onUpdateFilter instead.
69-
*
70-
* <p>
71-
* Resource event filters only applies on events of the main custom resource. Not on
72-
* events from other event sources nor the periodic events.
73-
* </p>
74-
*
75-
* @return the list of event filters.
76-
*/
77-
@Deprecated(forRemoval = true)
78-
Class<? extends ResourceEventFilter>[] eventFilters() default {};
79-
8066
/**
8167
* Filter of onAdd events of resources.
8268
*

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java

+1-6
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ public class ControllerResourceEventSource<T extends HasMetadata>
2828
private static final Logger log = LoggerFactory.getLogger(ControllerResourceEventSource.class);
2929

3030
private final Controller<T> controller;
31-
private final ResourceEventFilter<T> legacyFilters;
3231

3332
@SuppressWarnings({"unchecked", "rawtypes"})
3433
public ControllerResourceEventSource(Controller<T> controller) {
@@ -42,8 +41,6 @@ public ControllerResourceEventSource(Controller<T> controller) {
4241
.or(onUpdateGenerationAware(config.isGenerationAware()))
4342
.or(onUpdateMarkedForDeletion());
4443

45-
legacyFilters = config.getEventFilter();
46-
4744
// by default the on add should be processed in all cases regarding internal filters
4845
config.onAddFilter().ifPresent(this::setOnAddFilter);
4946
config.onUpdateFilter()
@@ -74,9 +71,7 @@ public void eventReceived(ResourceAction action, T resource, T oldResource) {
7471
}
7572
MDCUtils.addResourceInfo(resource);
7673
controller.getEventSourceManager().broadcastOnResourceEvent(action, resource, oldResource);
77-
if ((legacyFilters == null ||
78-
legacyFilters.acceptChange(controller, oldResource, resource))
79-
&& isAcceptedByFilters(action, resource, oldResource)) {
74+
if (isAcceptedByFilters(action, resource, oldResource)) {
8075
getEventHandler().handleEvent(
8176
new ResourceEvent(action, ResourceID.fromResource(resource), resource));
8277
} else {

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ResourceEventFilter.java

-59
This file was deleted.

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ResourceEventFilters.java

-27
This file was deleted.

0 commit comments

Comments
 (0)