From 8b6b32123671128f9a6e43d443022b2161b5e538 Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Tue, 28 May 2024 13:42:33 +0200 Subject: [PATCH] refactor: do not use BooleanWithUndefined outside of annotations Signed-off-by: Chris Laprun --- .../kubernetes/KubernetesDependentConverter.java | 5 ++--- .../kubernetes/KubernetesDependentResource.java | 14 ++++++-------- .../KubernetesDependentResourceConfig.java | 9 ++++----- .../KubernetesDependentResourceConfigBuilder.java | 4 ++-- .../dependentssa/DependentSSAReconciler.java | 3 +-- 5 files changed, 15 insertions(+), 20 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentConverter.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentConverter.java index 59a627aabc..e6c37d991d 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentConverter.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentConverter.java @@ -39,12 +39,11 @@ public KubernetesDependentResourceConfig configFrom(KubernetesDependent confi var createResourceOnlyIfNotExistingWithSSA = DEFAULT_CREATE_RESOURCE_ONLY_IF_NOT_EXISTING_WITH_SSA; - BooleanWithUndefined useSSA = BooleanWithUndefined.UNDEFINED; - + Boolean useSSA = null; if (configAnnotation != null) { createResourceOnlyIfNotExistingWithSSA = configAnnotation.createResourceOnlyIfNotExistingWithSSA(); - useSSA = configAnnotation.useSSA(); + useSSA = configAnnotation.useSSA().asBoolean(); } var informerConfiguration = createInformerConfiguration(configAnnotation, diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java index 86c5ef6d02..e434f8d8f0 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java @@ -157,18 +157,16 @@ protected boolean useSSA(Context

context) { if (usingCustomResourceUpdateMatcher) { return false; } - var useSSAConfig = - configuration().map(KubernetesDependentResourceConfig::useSSA) - .orElse(BooleanWithUndefined.UNDEFINED); + var useSSAConfig = configuration() + .map(KubernetesDependentResourceConfig::useSSA) + .orElse(null); var configService = context.getControllerConfiguration().getConfigurationService(); // don't use SSA for certain resources by default, only if explicitly overriden - if (BooleanWithUndefined.UNDEFINED.equals(useSSAConfig) - && configService.defaultNonSSAResource().contains(resourceType())) { + if (useSSAConfig == null && configService.defaultNonSSAResource().contains(resourceType())) { return false; } - return Optional.ofNullable(useSSAConfig.asBoolean()) - .orElse(context.getControllerConfiguration().getConfigurationService() - .ssaBasedCreateUpdateMatchForDependentResources()); + return Optional.ofNullable(useSSAConfig) + .orElse(configService.ssaBasedCreateUpdateMatchForDependentResources()); } private boolean usePreviousAnnotation(Context

context) { diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfig.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfig.java index b0d1d1b7c7..eefb872cb6 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfig.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfig.java @@ -9,13 +9,12 @@ public class KubernetesDependentResourceConfig { public static final boolean DEFAULT_CREATE_RESOURCE_ONLY_IF_NOT_EXISTING_WITH_SSA = true; - private final BooleanWithUndefined useSSA; + private final Boolean useSSA; private final boolean createResourceOnlyIfNotExistingWithSSA; - - private InformerConfiguration informerConfiguration; + private final InformerConfiguration informerConfiguration; public KubernetesDependentResourceConfig( - BooleanWithUndefined useSSA, + Boolean useSSA, boolean createResourceOnlyIfNotExistingWithSSA, InformerConfiguration informerConfiguration) { this.useSSA = useSSA; @@ -27,7 +26,7 @@ public boolean createResourceOnlyIfNotExistingWithSSA() { return createResourceOnlyIfNotExistingWithSSA; } - public BooleanWithUndefined useSSA() { + public Boolean useSSA() { return useSSA; } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfigBuilder.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfigBuilder.java index 90a45c2b1b..749f7b1e9a 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfigBuilder.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResourceConfigBuilder.java @@ -7,7 +7,7 @@ public final class KubernetesDependentResourceConfigBuilder { private boolean createResourceOnlyIfNotExistingWithSSA; - private BooleanWithUndefined useSSA = BooleanWithUndefined.UNDEFINED; + private Boolean useSSA = null; private InformerConfiguration informerConfiguration; @@ -23,7 +23,7 @@ public KubernetesDependentResourceConfigBuilder withCreateResourceOnlyIfNotEx return this; } - public KubernetesDependentResourceConfigBuilder withUseSSA(BooleanWithUndefined useSSA) { + public KubernetesDependentResourceConfigBuilder withUseSSA(boolean useSSA) { this.useSSA = useSSA; return this; } diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java index 830af98dbb..ed138bb0b9 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java @@ -10,7 +10,6 @@ import io.javaoperatorsdk.operator.api.reconciler.EventSourceUtils; import io.javaoperatorsdk.operator.api.reconciler.Reconciler; import io.javaoperatorsdk.operator.api.reconciler.UpdateControl; -import io.javaoperatorsdk.operator.processing.dependent.kubernetes.BooleanWithUndefined; import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfigBuilder; import io.javaoperatorsdk.operator.processing.event.source.EventSource; import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider; @@ -29,7 +28,7 @@ public DependentSSAReconciler() { public DependentSSAReconciler(boolean useSSA) { ssaConfigMapDependent.configureWith(new KubernetesDependentResourceConfigBuilder() - .withUseSSA(useSSA ? BooleanWithUndefined.TRUE : BooleanWithUndefined.FALSE) + .withUseSSA(useSSA) .build()); }