Skip to content

Commit 8b6b321

Browse files
committed
refactor: do not use BooleanWithUndefined outside of annotations
Signed-off-by: Chris Laprun <claprun@redhat.com>
1 parent 5c59681 commit 8b6b321

File tree

5 files changed

+15
-20
lines changed

5 files changed

+15
-20
lines changed

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,11 @@ public KubernetesDependentResourceConfig<R> configFrom(KubernetesDependent confi
3939
var createResourceOnlyIfNotExistingWithSSA =
4040
DEFAULT_CREATE_RESOURCE_ONLY_IF_NOT_EXISTING_WITH_SSA;
4141

42-
BooleanWithUndefined useSSA = BooleanWithUndefined.UNDEFINED;
43-
42+
Boolean useSSA = null;
4443
if (configAnnotation != null) {
4544
createResourceOnlyIfNotExistingWithSSA =
4645
configAnnotation.createResourceOnlyIfNotExistingWithSSA();
47-
useSSA = configAnnotation.useSSA();
46+
useSSA = configAnnotation.useSSA().asBoolean();
4847
}
4948

5049
var informerConfiguration = createInformerConfiguration(configAnnotation,

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,18 +157,16 @@ protected boolean useSSA(Context<P> context) {
157157
if (usingCustomResourceUpdateMatcher) {
158158
return false;
159159
}
160-
var useSSAConfig =
161-
configuration().map(KubernetesDependentResourceConfig::useSSA)
162-
.orElse(BooleanWithUndefined.UNDEFINED);
160+
var useSSAConfig = configuration()
161+
.map(KubernetesDependentResourceConfig::useSSA)
162+
.orElse(null);
163163
var configService = context.getControllerConfiguration().getConfigurationService();
164164
// don't use SSA for certain resources by default, only if explicitly overriden
165-
if (BooleanWithUndefined.UNDEFINED.equals(useSSAConfig)
166-
&& configService.defaultNonSSAResource().contains(resourceType())) {
165+
if (useSSAConfig == null && configService.defaultNonSSAResource().contains(resourceType())) {
167166
return false;
168167
}
169-
return Optional.ofNullable(useSSAConfig.asBoolean())
170-
.orElse(context.getControllerConfiguration().getConfigurationService()
171-
.ssaBasedCreateUpdateMatchForDependentResources());
168+
return Optional.ofNullable(useSSAConfig)
169+
.orElse(configService.ssaBasedCreateUpdateMatchForDependentResources());
172170
}
173171

174172
private boolean usePreviousAnnotation(Context<P> context) {

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ public class KubernetesDependentResourceConfig<R extends HasMetadata> {
99

1010
public static final boolean DEFAULT_CREATE_RESOURCE_ONLY_IF_NOT_EXISTING_WITH_SSA = true;
1111

12-
private final BooleanWithUndefined useSSA;
12+
private final Boolean useSSA;
1313
private final boolean createResourceOnlyIfNotExistingWithSSA;
14-
15-
private InformerConfiguration<R> informerConfiguration;
14+
private final InformerConfiguration<R> informerConfiguration;
1615

1716
public KubernetesDependentResourceConfig(
18-
BooleanWithUndefined useSSA,
17+
Boolean useSSA,
1918
boolean createResourceOnlyIfNotExistingWithSSA,
2019
InformerConfiguration<R> informerConfiguration) {
2120
this.useSSA = useSSA;
@@ -27,7 +26,7 @@ public boolean createResourceOnlyIfNotExistingWithSSA() {
2726
return createResourceOnlyIfNotExistingWithSSA;
2827
}
2928

30-
public BooleanWithUndefined useSSA() {
29+
public Boolean useSSA() {
3130
return useSSA;
3231
}
3332

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
public final class KubernetesDependentResourceConfigBuilder<R extends HasMetadata> {
88

99
private boolean createResourceOnlyIfNotExistingWithSSA;
10-
private BooleanWithUndefined useSSA = BooleanWithUndefined.UNDEFINED;
10+
private Boolean useSSA = null;
1111

1212
private InformerConfiguration<R> informerConfiguration;
1313

@@ -23,7 +23,7 @@ public KubernetesDependentResourceConfigBuilder<R> withCreateResourceOnlyIfNotEx
2323
return this;
2424
}
2525

26-
public KubernetesDependentResourceConfigBuilder<R> withUseSSA(BooleanWithUndefined useSSA) {
26+
public KubernetesDependentResourceConfigBuilder<R> withUseSSA(boolean useSSA) {
2727
this.useSSA = useSSA;
2828
return this;
2929
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import io.javaoperatorsdk.operator.api.reconciler.EventSourceUtils;
1111
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
1212
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
13-
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.BooleanWithUndefined;
1413
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfigBuilder;
1514
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
1615
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
@@ -29,7 +28,7 @@ public DependentSSAReconciler() {
2928

3029
public DependentSSAReconciler(boolean useSSA) {
3130
ssaConfigMapDependent.configureWith(new KubernetesDependentResourceConfigBuilder<ConfigMap>()
32-
.withUseSSA(useSSA ? BooleanWithUndefined.TRUE : BooleanWithUndefined.FALSE)
31+
.withUseSSA(useSSA)
3332
.build());
3433
}
3534

0 commit comments

Comments
 (0)