From 3b089e531dd8ec89adc54cef27572345afdb9bec Mon Sep 17 00:00:00 2001
From: David Sondermann <david.sondermann@hivemq.com>
Date: Sun, 10 Sep 2023 19:54:49 +0200
Subject: [PATCH] improve: re-use ignoreList in
 GenericKubernetesResourceMatcher

Signed-off-by: David Sondermann <david.sondermann@hivemq.com>
---
 .../GenericKubernetesResourceMatcher.java     | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/GenericKubernetesResourceMatcher.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/GenericKubernetesResourceMatcher.java
index 36935e08a0..3109880063 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/GenericKubernetesResourceMatcher.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/GenericKubernetesResourceMatcher.java
@@ -192,22 +192,17 @@ public static <R extends HasMetadata, P extends HasMetadata> Result<R> match(R d
       }
     }
 
-    final var matched = matchSpec(actualResource, desired, specEquality, context, ignoredPaths);
+    final var matched = matchSpec(actualResource, desired, specEquality, context, ignoreList);
     return Result.computed(matched, desired);
   }
 
   private static <R extends HasMetadata> boolean matchSpec(R actual, R desired, boolean equality,
-      Context<?> context,
-      String[] ignoredPaths) {
-
+      Context<?> context, List<String> ignoreList) {
     final var kubernetesSerialization = context.getClient().getKubernetesSerialization();
     var desiredNode = kubernetesSerialization.convertValue(desired, JsonNode.class);
     var actualNode = kubernetesSerialization.convertValue(actual, JsonNode.class);
     var wholeDiffJsonPatch = JsonDiff.asJson(desiredNode, actualNode);
 
-    final List<String> ignoreList =
-        ignoredPaths != null && ignoredPaths.length > 0 ? Arrays.asList(ignoredPaths)
-            : Collections.emptyList();
     // reflection will be replaced by this:
     // https://github.com/fabric8io/kubernetes-client/issues/3816
     var specDiffJsonPatch = getDiffsImpactingPathsWithPrefixes(wholeDiffJsonPatch, SPEC);
@@ -218,15 +213,10 @@ private static <R extends HasMetadata> boolean matchSpec(R actual, R desired, bo
       return false;
     }
     if (!equality && !ignoreList.isEmpty()) {
-      if (!allDiffsOnIgnoreList(specDiffJsonPatch, ignoreList)) {
-        return false;
-      }
+      return allDiffsOnIgnoreList(specDiffJsonPatch, ignoreList);
     } else {
-      if (!allDiffsAreAddOps(specDiffJsonPatch)) {
-        return false;
-      }
+      return allDiffsAreAddOps(specDiffJsonPatch);
     }
-    return true;
   }
 
   private static boolean allDiffsOnIgnoreList(List<JsonNode> metadataJSonDiffs,
@@ -241,7 +231,6 @@ private static <R extends HasMetadata, P extends HasMetadata> Optional<Result<R>
       R desired,
       R actualResource,
       boolean labelsAndAnnotationsEquality, Context<P> context) {
-
     if (labelsAndAnnotationsEquality) {
       final var desiredMetadata = desired.getMetadata();
       final var actualMetadata = actualResource.getMetadata();