24
24
import io .javaoperatorsdk .operator .processing .dependent .kubernetes .KubernetesDependent ;
25
25
import io .javaoperatorsdk .operator .processing .dependent .kubernetes .KubernetesDependentResource ;
26
26
import io .javaoperatorsdk .operator .processing .dependent .kubernetes .KubernetesDependentResourceConfig ;
27
+ import io .javaoperatorsdk .operator .processing .dependent .workflow .Condition ;
27
28
import io .javaoperatorsdk .operator .processing .event .rate .RateLimiter ;
28
29
import io .javaoperatorsdk .operator .processing .event .source .controller .ResourceEventFilter ;
29
30
import io .javaoperatorsdk .operator .processing .event .source .controller .ResourceEventFilters ;
@@ -311,8 +312,8 @@ private Object createKubernetesResourceConfig(Class<? extends DependentResource>
311
312
createFilter (kubeDependent .genericFilter (), GenericFilter .class , context )
312
313
.orElse (null );
313
314
314
- resourceDiscriminator = instantiateIfNotVoid ( kubeDependent . resourceDiscriminator (),
315
- VoidResourceDiscriminator . class );
315
+ resourceDiscriminator =
316
+ instantiateDiscriminatorIfNotVoid ( kubeDependent . resourceDiscriminator () );
316
317
}
317
318
318
319
config =
@@ -323,6 +324,15 @@ private Object createKubernetesResourceConfig(Class<? extends DependentResource>
323
324
return config ;
324
325
}
325
326
327
+ @ SuppressWarnings ({"unchecked" })
328
+ private ResourceDiscriminator <?, ? extends HasMetadata > instantiateDiscriminatorIfNotVoid (
329
+ Class <? extends ResourceDiscriminator > discriminator ) {
330
+ if (discriminator != VoidResourceDiscriminator .class ) {
331
+ return instantiateAndConfigureIfNeeded (discriminator , ResourceDiscriminator .class );
332
+ }
333
+ return null ;
334
+ }
335
+
326
336
public static <T > T valueOrDefault (
327
337
ControllerConfiguration controllerConfiguration ,
328
338
Function <ControllerConfiguration , T > mapper ,
0 commit comments