33import static io .javaoperatorsdk .operator .EventListUtils .containsCustomResourceDeletedEvent ;
44import static io .javaoperatorsdk .operator .processing .KubernetesResourceUtils .getUID ;
55import static io .javaoperatorsdk .operator .processing .KubernetesResourceUtils .getVersion ;
6- import static io .javaoperatorsdk .operator .processing .KubernetesResourceUtils .markedForDeletion ;
76
87import io .fabric8 .kubernetes .api .model .KubernetesResourceList ;
98import io .fabric8 .kubernetes .client .CustomResource ;
109import io .fabric8 .kubernetes .client .dsl .MixedOperation ;
1110import io .fabric8 .kubernetes .client .dsl .Resource ;
12- import io .javaoperatorsdk .operator .ControllerUtils ;
1311import io .javaoperatorsdk .operator .api .Context ;
1412import io .javaoperatorsdk .operator .api .DefaultContext ;
1513import io .javaoperatorsdk .operator .api .DeleteControl ;
1614import io .javaoperatorsdk .operator .api .ResourceController ;
1715import io .javaoperatorsdk .operator .api .UpdateControl ;
1816import io .javaoperatorsdk .operator .processing .event .EventList ;
1917import io .javaoperatorsdk .operator .processing .event .EventSourceManager ;
20- import java .util .ArrayList ;
2118import org .slf4j .Logger ;
2219import org .slf4j .LoggerFactory ;
2320
@@ -65,8 +62,7 @@ private PostExecutionControl handleDispatch(ExecutionScope executionScope) {
6562 getVersion (resource ));
6663 return PostExecutionControl .defaultDispatch ();
6764 }
68- if ((markedForDeletion (resource )
69- && !ControllerUtils .hasGivenFinalizer (resource , resourceFinalizer ))) {
65+ if ((resource .isMarkedForDeletion () && !resource .hasFinalizer (resourceFinalizer ))) {
7066 log .debug (
7167 "Skipping event dispatching since its marked for deletion but has no finalizer: {}" ,
7268 executionScope );
@@ -77,7 +73,7 @@ private PostExecutionControl handleDispatch(ExecutionScope executionScope) {
7773 eventSourceManager ,
7874 new EventList (executionScope .getEvents ()),
7975 executionScope .getRetryInfo ());
80- if (markedForDeletion ( resource )) {
76+ if (resource . isMarkedForDeletion ( )) {
8177 return handleDelete (resource , context );
8278 } else {
8379 return handleCreateOrUpdate (executionScope , resource , context );
@@ -86,8 +82,7 @@ private PostExecutionControl handleDispatch(ExecutionScope executionScope) {
8682
8783 private PostExecutionControl handleCreateOrUpdate (
8884 ExecutionScope executionScope , CustomResource resource , Context context ) {
89- if (!ControllerUtils .hasGivenFinalizer (resource , resourceFinalizer )
90- && !markedForDeletion (resource )) {
85+ if (!resource .hasFinalizer (resourceFinalizer ) && !resource .isMarkedForDeletion ()) {
9186 /* We always add the finalizer if missing and not marked for deletion.
9287 We execute the controller processing only for processing the event sent as a results
9388 of the finalizer add. This will make sure that the resources are not created before
@@ -133,7 +128,7 @@ private PostExecutionControl handleDelete(CustomResource resource, Context conte
133128 getUID (resource ),
134129 getVersion (resource ));
135130 DeleteControl deleteControl = controller .deleteResource (resource , context );
136- boolean hasFinalizer = ControllerUtils . hasGivenFinalizer ( resource , resourceFinalizer );
131+ boolean hasFinalizer = resource . hasFinalizer ( resourceFinalizer );
137132 if (deleteControl == DeleteControl .DEFAULT_DELETE && hasFinalizer ) {
138133 CustomResource customResource = removeFinalizer (resource );
139134 return PostExecutionControl .customResourceUpdated (customResource );
@@ -151,7 +146,7 @@ private PostExecutionControl handleDelete(CustomResource resource, Context conte
151146 private void updateCustomResourceWithFinalizer (CustomResource resource ) {
152147 log .debug (
153148 "Adding finalizer for resource: {} version: {}" , getUID (resource ), getVersion (resource ));
154- addFinalizerIfNotPresent ( resource );
149+ resource . addFinalizer ( resourceFinalizer );
155150 replace (resource );
156151 }
157152
@@ -166,7 +161,7 @@ private CustomResource removeFinalizer(CustomResource resource) {
166161 "Removing finalizer on resource: {} with version: {}" ,
167162 getUID (resource ),
168163 getVersion (resource ));
169- resource .getMetadata (). getFinalizers (). remove (resourceFinalizer );
164+ resource .removeFinalizer (resourceFinalizer );
170165 return customResourceFacade .replaceWithLock (resource );
171166 }
172167
@@ -178,17 +173,6 @@ private CustomResource replace(CustomResource resource) {
178173 return customResourceFacade .replaceWithLock (resource );
179174 }
180175
181- private void addFinalizerIfNotPresent (CustomResource resource ) {
182- if (!ControllerUtils .hasGivenFinalizer (resource , resourceFinalizer )
183- && !markedForDeletion (resource )) {
184- log .info ("Adding finalizer to {}" , resource .getMetadata ());
185- if (resource .getMetadata ().getFinalizers () == null ) {
186- resource .getMetadata ().setFinalizers (new ArrayList <>(1 ));
187- }
188- resource .getMetadata ().getFinalizers ().add (resourceFinalizer );
189- }
190- }
191-
192176 // created to support unit testing
193177 public static class CustomResourceFacade <R extends CustomResource > {
194178
0 commit comments