From 88b830e8d7c57fe5922b9629e4f76a0b3475e288 Mon Sep 17 00:00:00 2001 From: csviri Date: Tue, 13 Jun 2023 10:18:14 +0200 Subject: [PATCH 1/5] improve: filters accept super types --- .../ControllerConfigurationOverrider.java | 6 +-- .../config/DefaultResourceConfiguration.java | 17 +++++---- .../ResolvedControllerConfiguration.java | 7 ++-- .../api/config/ResourceConfiguration.java | 6 +-- .../informer/InformerConfiguration.java | 38 ++++++++++--------- .../source/AbstractResourceEventSource.java | 16 ++++---- .../event/source/ResourceEventSource.java | 8 ++-- .../ControllerResourceEventSource.java | 2 +- 8 files changed, 52 insertions(+), 48 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfigurationOverrider.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfigurationOverrider.java index 5d96c2abf6..f2bd366328 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfigurationOverrider.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfigurationOverrider.java @@ -32,9 +32,9 @@ public class ControllerConfigurationOverrider { private ResourceEventFilter customResourcePredicate; private final ControllerConfiguration original; private Duration reconciliationMaxInterval; - private OnAddFilter onAddFilter; - private OnUpdateFilter onUpdateFilter; - private GenericFilter genericFilter; + private OnAddFilter onAddFilter; + private OnUpdateFilter onUpdateFilter; + private GenericFilter genericFilter; private RateLimiter rateLimiter; private Map configurations; private ItemStore itemStore; diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java index a612f2d136..781ab93e51 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java @@ -15,16 +15,17 @@ public class DefaultResourceConfiguration private final Class resourceClass; private final String resourceTypeName; - private final OnAddFilter onAddFilter; - private final OnUpdateFilter onUpdateFilter; - private final GenericFilter genericFilter; + private final OnAddFilter onAddFilter; + private final OnUpdateFilter onUpdateFilter; + private final GenericFilter genericFilter; private final String labelSelector; private final Set namespaces; private final ItemStore itemStore; protected DefaultResourceConfiguration(Class resourceClass, - Set namespaces, String labelSelector, OnAddFilter onAddFilter, - OnUpdateFilter onUpdateFilter, GenericFilter genericFilter, ItemStore itemStore) { + Set namespaces, String labelSelector, OnAddFilter onAddFilter, + OnUpdateFilter onUpdateFilter, GenericFilter genericFilter, + ItemStore itemStore) { this.resourceClass = resourceClass; this.resourceTypeName = ReconcilerUtils.getResourceTypeName(resourceClass); this.onAddFilter = onAddFilter; @@ -57,16 +58,16 @@ public Class getResourceClass() { } @Override - public Optional> onAddFilter() { + public Optional> onAddFilter() { return Optional.ofNullable(onAddFilter); } @Override - public Optional> onUpdateFilter() { + public Optional> onUpdateFilter() { return Optional.ofNullable(onUpdateFilter); } - public Optional> genericFilter() { + public Optional> genericFilter() { return Optional.ofNullable(genericFilter); } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResolvedControllerConfiguration.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResolvedControllerConfiguration.java index f91e9c506a..9c96a5c0a7 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResolvedControllerConfiguration.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResolvedControllerConfiguration.java @@ -67,8 +67,8 @@ protected RateLimiter ensureRateLimiter(RateLimiter given) { public ResolvedControllerConfiguration(Class

resourceClass, String name, boolean generationAware, String associatedReconcilerClassName, Retry retry, RateLimiter rateLimiter, Duration maxReconciliationInterval, - OnAddFilter

onAddFilter, OnUpdateFilter

onUpdateFilter, - GenericFilter

genericFilter, + OnAddFilter onAddFilter, OnUpdateFilter onUpdateFilter, + GenericFilter genericFilter, List dependentResources, Set namespaces, String finalizer, String labelSelector, Map configurations, ItemStore

itemStore, @@ -82,7 +82,8 @@ public ResolvedControllerConfiguration(Class

resourceClass, String name, protected ResolvedControllerConfiguration(Class

resourceClass, String name, boolean generationAware, String associatedReconcilerClassName, Retry retry, RateLimiter rateLimiter, Duration maxReconciliationInterval, - OnAddFilter

onAddFilter, OnUpdateFilter

onUpdateFilter, GenericFilter

genericFilter, + OnAddFilter onAddFilter, OnUpdateFilter onUpdateFilter, + GenericFilter genericFilter, Set namespaces, String finalizer, String labelSelector, Map configurations, ItemStore

itemStore, ConfigurationService configurationService) { diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResourceConfiguration.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResourceConfiguration.java index 1d7e10c5d5..b1b518a164 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResourceConfiguration.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResourceConfiguration.java @@ -23,15 +23,15 @@ default String getResourceTypeName() { return ReconcilerUtils.getResourceTypeName(getResourceClass()); } - default Optional> onAddFilter() { + default Optional> onAddFilter() { return Optional.empty(); } - default Optional> onUpdateFilter() { + default Optional> onUpdateFilter() { return Optional.empty(); } - default Optional> genericFilter() { + default Optional> genericFilter() { return Optional.empty(); } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/informer/InformerConfiguration.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/informer/InformerConfiguration.java index f883799cc9..3ca680cf7f 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/informer/InformerConfiguration.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/informer/InformerConfiguration.java @@ -29,17 +29,17 @@ class DefaultInformerConfiguration extends private final PrimaryToSecondaryMapper primaryToSecondaryMapper; private final SecondaryToPrimaryMapper secondaryToPrimaryMapper; private final boolean followControllerNamespaceChanges; - private final OnDeleteFilter onDeleteFilter; + private final OnDeleteFilter onDeleteFilter; protected DefaultInformerConfiguration(String labelSelector, Class resourceClass, PrimaryToSecondaryMapper primaryToSecondaryMapper, SecondaryToPrimaryMapper secondaryToPrimaryMapper, Set namespaces, boolean followControllerNamespaceChanges, - OnAddFilter onAddFilter, - OnUpdateFilter onUpdateFilter, - OnDeleteFilter onDeleteFilter, - GenericFilter genericFilter, + OnAddFilter onAddFilter, + OnUpdateFilter onUpdateFilter, + OnDeleteFilter onDeleteFilter, + GenericFilter genericFilter, ItemStore itemStore) { super(resourceClass, namespaces, labelSelector, onAddFilter, onUpdateFilter, genericFilter, itemStore); @@ -62,7 +62,7 @@ public SecondaryToPrimaryMapper getSecondaryToPrimaryMapper() { return secondaryToPrimaryMapper; } - public Optional> onDeleteFilter() { + public Optional> onDeleteFilter() { return Optional.ofNullable(onDeleteFilter); } @@ -95,13 +95,13 @@ public

PrimaryToSecondaryMapper

getPrimaryToSecondary */ SecondaryToPrimaryMapper getSecondaryToPrimaryMapper(); - Optional> onAddFilter(); + Optional> onAddFilter(); - Optional> onUpdateFilter(); + Optional> onUpdateFilter(); - Optional> onDeleteFilter(); + Optional> onDeleteFilter(); - Optional> genericFilter(); + Optional> genericFilter();

PrimaryToSecondaryMapper

getPrimaryToSecondaryMapper(); @@ -113,10 +113,10 @@ class InformerConfigurationBuilder { private Set namespaces; private String labelSelector; private final Class resourceClass; - private OnAddFilter onAddFilter; - private OnUpdateFilter onUpdateFilter; - private OnDeleteFilter onDeleteFilter; - private GenericFilter genericFilter; + private OnAddFilter onAddFilter; + private OnUpdateFilter onUpdateFilter; + private OnDeleteFilter onDeleteFilter; + private GenericFilter genericFilter; private boolean inheritControllerNamespacesOnChange = false; private ItemStore itemStore; @@ -198,23 +198,25 @@ public InformerConfigurationBuilder withLabelSelector(String labelSelector) { return this; } - public InformerConfigurationBuilder withOnAddFilter(OnAddFilter onAddFilter) { + public InformerConfigurationBuilder withOnAddFilter(OnAddFilter onAddFilter) { this.onAddFilter = onAddFilter; return this; } - public InformerConfigurationBuilder withOnUpdateFilter(OnUpdateFilter onUpdateFilter) { + public InformerConfigurationBuilder withOnUpdateFilter( + OnUpdateFilter onUpdateFilter) { this.onUpdateFilter = onUpdateFilter; return this; } public InformerConfigurationBuilder withOnDeleteFilter( - OnDeleteFilter onDeleteFilter) { + OnDeleteFilter onDeleteFilter) { this.onDeleteFilter = onDeleteFilter; return this; } - public InformerConfigurationBuilder withGenericFilter(GenericFilter genericFilter) { + public InformerConfigurationBuilder withGenericFilter( + GenericFilter genericFilter) { this.genericFilter = genericFilter; return this; } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/AbstractResourceEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/AbstractResourceEventSource.java index 2a5c6c2d39..65294c1625 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/AbstractResourceEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/AbstractResourceEventSource.java @@ -11,10 +11,10 @@ public abstract class AbstractResourceEventSource implements ResourceEventSource { private final Class resourceClass; - protected OnAddFilter onAddFilter; - protected OnUpdateFilter onUpdateFilter; - protected OnDeleteFilter onDeleteFilter; - protected GenericFilter genericFilter; + protected OnAddFilter onAddFilter; + protected OnUpdateFilter onUpdateFilter; + protected OnDeleteFilter onDeleteFilter; + protected GenericFilter genericFilter; protected AbstractResourceEventSource(Class resourceClass) { this.resourceClass = resourceClass; @@ -25,21 +25,21 @@ public Class resourceType() { return resourceClass; } - public void setOnAddFilter(OnAddFilter onAddFilter) { + public void setOnAddFilter(OnAddFilter onAddFilter) { this.onAddFilter = onAddFilter; } public void setOnUpdateFilter( - OnUpdateFilter onUpdateFilter) { + OnUpdateFilter onUpdateFilter) { this.onUpdateFilter = onUpdateFilter; } public void setOnDeleteFilter( - OnDeleteFilter onDeleteFilter) { + OnDeleteFilter onDeleteFilter) { this.onDeleteFilter = onDeleteFilter; } - public void setGenericFilter(GenericFilter genericFilter) { + public void setGenericFilter(GenericFilter genericFilter) { this.genericFilter = genericFilter; } } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/ResourceEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/ResourceEventSource.java index 38b5d7007f..722e260878 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/ResourceEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/ResourceEventSource.java @@ -32,11 +32,11 @@ default Optional getSecondaryResource(P primary) { Set getSecondaryResources(P primary); - void setOnAddFilter(OnAddFilter onAddFilter); + void setOnAddFilter(OnAddFilter onAddFilter); - void setOnUpdateFilter(OnUpdateFilter onUpdateFilter); + void setOnUpdateFilter(OnUpdateFilter onUpdateFilter); - void setOnDeleteFilter(OnDeleteFilter onDeleteFilter); + void setOnDeleteFilter(OnDeleteFilter onDeleteFilter); - void setGenericFilter(GenericFilter genericFilter); + void setGenericFilter(GenericFilter genericFilter); } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java index bd01d71a94..71769c845b 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java @@ -133,7 +133,7 @@ public Set getSecondaryResources(T primary) { } @Override - public void setOnDeleteFilter(OnDeleteFilter onDeleteFilter) { + public void setOnDeleteFilter(OnDeleteFilter onDeleteFilter) { throw new IllegalStateException( "onDeleteFilter is not supported for controller resource event source"); } From 1daf930092368a21685e65106b4c3e23314790e2 Mon Sep 17 00:00:00 2001 From: csviri Date: Tue, 13 Jun 2023 10:57:43 +0200 Subject: [PATCH 2/5] fix --- .../event/source/controller/ControllerResourceEventSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java index 71769c845b..f29e48eba4 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java @@ -37,7 +37,7 @@ public class ControllerResourceEventSource private final Controller controller; private final ResourceEventFilter legacyFilters; - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes"}) public ControllerResourceEventSource(Controller controller) { super(controller.getCRClient(), controller.getConfiguration()); this.controller = controller; From f6cb7628159093b13a36baae8ccda3f35a58ce9b Mon Sep 17 00:00:00 2001 From: csviri Date: Tue, 13 Jun 2023 12:15:02 +0200 Subject: [PATCH 3/5] fix --- .../operator/api/config/DefaultResourceConfiguration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java index 781ab93e51..821553b2c8 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/DefaultResourceConfiguration.java @@ -67,6 +67,7 @@ public Optional> onUpdateFilter() { return Optional.ofNullable(onUpdateFilter); } + @Override public Optional> genericFilter() { return Optional.ofNullable(genericFilter); } From e8533f89b5ec28aea6fd830bf6b57a85f973d5ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 08:31:58 +0200 Subject: [PATCH 4/5] chore(deps): bump micrometer-core from 1.11.0 to 1.11.1 (#1939) Bumps [micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1. - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 35562eeb8b..b1dcd422f6 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ 3.24.2 4.2.0 2.7.3 - 1.11.0 + 1.11.1 4.10.0 3.1.3 0.9.0 From 83a72bd18f1adaff56f4b1ad436b98567df7f9fe Mon Sep 17 00:00:00 2001 From: csviri Date: Tue, 13 Jun 2023 16:29:37 +0200 Subject: [PATCH 5/5] move base to next --- .../event/source/controller/ControllerResourceEventSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java index f29e48eba4..648febad30 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java @@ -43,7 +43,7 @@ public ControllerResourceEventSource(Controller controller) { this.controller = controller; final var config = controller.getConfiguration(); - OnUpdateFilter internalOnUpdateFilter = + OnUpdateFilter internalOnUpdateFilter = (OnUpdateFilter) onUpdateFinalizerNeededAndApplied(controller.useFinalizer(), config.getFinalizerName()) .or(onUpdateGenerationAware(config.isGenerationAware()))