Skip to content

Commit 85e65ed

Browse files
authored
improve: re-use ignoreList in GenericKubernetesResourceMatcher (#2050)
Signed-off-by: David Sondermann <[email protected]>
1 parent ddd7c42 commit 85e65ed

File tree

1 file changed

+4
-15
lines changed

1 file changed

+4
-15
lines changed

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

+4-15
Original file line numberDiff line numberDiff line change
@@ -192,22 +192,17 @@ public static <R extends HasMetadata, P extends HasMetadata> Result<R> match(R d
192192
}
193193
}
194194

195-
final var matched = matchSpec(actualResource, desired, specEquality, context, ignoredPaths);
195+
final var matched = matchSpec(actualResource, desired, specEquality, context, ignoreList);
196196
return Result.computed(matched, desired);
197197
}
198198

199199
private static <R extends HasMetadata> boolean matchSpec(R actual, R desired, boolean equality,
200-
Context<?> context,
201-
String[] ignoredPaths) {
202-
200+
Context<?> context, List<String> ignoreList) {
203201
final var kubernetesSerialization = context.getClient().getKubernetesSerialization();
204202
var desiredNode = kubernetesSerialization.convertValue(desired, JsonNode.class);
205203
var actualNode = kubernetesSerialization.convertValue(actual, JsonNode.class);
206204
var wholeDiffJsonPatch = JsonDiff.asJson(desiredNode, actualNode);
207205

208-
final List<String> ignoreList =
209-
ignoredPaths != null && ignoredPaths.length > 0 ? Arrays.asList(ignoredPaths)
210-
: Collections.emptyList();
211206
// reflection will be replaced by this:
212207
// https://github.com/fabric8io/kubernetes-client/issues/3816
213208
var specDiffJsonPatch = getDiffsImpactingPathsWithPrefixes(wholeDiffJsonPatch, SPEC);
@@ -218,15 +213,10 @@ private static <R extends HasMetadata> boolean matchSpec(R actual, R desired, bo
218213
return false;
219214
}
220215
if (!equality && !ignoreList.isEmpty()) {
221-
if (!allDiffsOnIgnoreList(specDiffJsonPatch, ignoreList)) {
222-
return false;
223-
}
216+
return allDiffsOnIgnoreList(specDiffJsonPatch, ignoreList);
224217
} else {
225-
if (!allDiffsAreAddOps(specDiffJsonPatch)) {
226-
return false;
227-
}
218+
return allDiffsAreAddOps(specDiffJsonPatch);
228219
}
229-
return true;
230220
}
231221

232222
private static boolean allDiffsOnIgnoreList(List<JsonNode> metadataJSonDiffs,
@@ -241,7 +231,6 @@ private static <R extends HasMetadata, P extends HasMetadata> Optional<Result<R>
241231
R desired,
242232
R actualResource,
243233
boolean labelsAndAnnotationsEquality, Context<P> context) {
244-
245234
if (labelsAndAnnotationsEquality) {
246235
final var desiredMetadata = desired.getMetadata();
247236
final var actualMetadata = actualResource.getMetadata();

0 commit comments

Comments
 (0)