Skip to content

Commit 4ea5754

Browse files
committed
fixes from rebase from next
1 parent 2e078ce commit 4ea5754

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/AnnotationControllerConfiguration.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
2626
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
2727
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfig;
28+
import io.javaoperatorsdk.operator.processing.dependent.workflow.Condition;
2829
import io.javaoperatorsdk.operator.processing.event.rate.RateLimiter;
2930
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
3031
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilters;
@@ -262,9 +263,9 @@ public List<DependentResourceSpec> getDependentResources() {
262263
}
263264
spec = new DependentResourceSpec(dependentType, config, name,
264265
Set.of(dependent.dependsOn()),
265-
instantiateIfNotVoid(dependent.readyPostcondition(), VoidCondition.class),
266-
instantiateIfNotVoid(dependent.reconcilePrecondition(), VoidCondition.class),
267-
instantiateIfNotVoid(dependent.deletePostcondition(), VoidCondition.class));
266+
instantiateConditionIfNotVoid(dependent.readyPostcondition()),
267+
instantiateConditionIfNotVoid(dependent.reconcilePrecondition()),
268+
instantiateConditionIfNotVoid(dependent.deletePostcondition()));
268269
specsMap.put(name, spec);
269270
}
270271

@@ -325,8 +326,8 @@ private Object createKubernetesResourceConfig(Class<? extends DependentResource>
325326
createFilter(kubeDependent.genericFilter(), FilterType.generic, kubeDependentName)
326327
.orElse(null);
327328

328-
resourceDiscriminator = instantiateIfNotVoid(kubeDependent.resourceDiscriminator(),
329-
VoidResourceDiscriminator.class);
329+
resourceDiscriminator =
330+
instantiateDiscriminatorIfNotVoid(kubeDependent.resourceDiscriminator());
330331
}
331332

332333
config =
@@ -337,6 +338,15 @@ private Object createKubernetesResourceConfig(Class<? extends DependentResource>
337338
return config;
338339
}
339340

341+
@SuppressWarnings({"unchecked"})
342+
private ResourceDiscriminator<?, ? extends HasMetadata> instantiateDiscriminatorIfNotVoid(
343+
Class<? extends ResourceDiscriminator> discriminator) {
344+
if (discriminator != VoidResourceDiscriminator.class) {
345+
return instantiateAndConfigureIfNeeded(discriminator, ResourceDiscriminator.class);
346+
}
347+
return null;
348+
}
349+
340350
public static <T> T valueOrDefault(
341351
ControllerConfiguration controllerConfiguration,
342352
Function<ControllerConfiguration, T> mapper,

0 commit comments

Comments
 (0)