@@ -23,24 +23,7 @@ private GenericKubernetesResourceMatcher(KubernetesDependentResource<R, P> depen
23
23
@ SuppressWarnings ({"unchecked" , "rawtypes" })
24
24
static <R extends HasMetadata , P extends HasMetadata > Matcher <R , P > matcherFor (
25
25
Class <R > resourceType , KubernetesDependentResource <R , P > dependentResource ) {
26
- if (Secret .class .isAssignableFrom (resourceType )) {
27
- return (actualResource , primary , context ) -> {
28
- final var desired = dependentResource .desired (primary , context );
29
- return Result .computed (
30
- ResourceComparators .compareSecretData ((Secret ) desired , (Secret ) actualResource ),
31
- desired );
32
- };
33
- } else if (ConfigMap .class .isAssignableFrom (resourceType )) {
34
- return (actualResource , primary , context ) -> {
35
- final var desired = dependentResource .desired (primary , context );
36
- return Result .computed (
37
- ResourceComparators .compareConfigMapData ((ConfigMap ) desired ,
38
- (ConfigMap ) actualResource ),
39
- desired );
40
- };
41
- } else {
42
- return new GenericKubernetesResourceMatcher (dependentResource );
43
- }
26
+ return new GenericKubernetesResourceMatcher (dependentResource );
44
27
}
45
28
46
29
@ Override
@@ -49,8 +32,8 @@ public Result<R> match(R actualResource, P primary, Context<P> context) {
49
32
return match (desired , actualResource , false );
50
33
}
51
34
52
- public static <R extends HasMetadata > Result <R > match (
53
- R desired , R actualResource , boolean considerMetadata ) {
35
+ public static <R extends HasMetadata > Result <R > match (R desired , R actualResource ,
36
+ boolean considerMetadata ) {
54
37
if (considerMetadata ) {
55
38
final var desiredMetadata = desired .getMetadata ();
56
39
final var actualMetadata = actualResource .getMetadata ();
@@ -62,20 +45,30 @@ public static <R extends HasMetadata> Result<R> match(
62
45
}
63
46
}
64
47
65
- final var objectMapper = ConfigurationServiceProvider .instance ().getObjectMapper ();
48
+ if (desired instanceof ConfigMap ) {
49
+ return Result .computed (
50
+ ResourceComparators .compareConfigMapData ((ConfigMap ) desired , (ConfigMap ) actualResource ),
51
+ desired );
52
+ } else if (desired instanceof Secret ) {
53
+ return Result .computed (
54
+ ResourceComparators .compareSecretData ((Secret ) desired , (Secret ) actualResource ),
55
+ desired );
56
+ } else {
57
+ final var objectMapper = ConfigurationServiceProvider .instance ().getObjectMapper ();
66
58
67
- // reflection will be replaced by this:
68
- // https://github.com/fabric8io/kubernetes-client/issues/3816
69
- var desiredSpecNode = objectMapper .valueToTree (ReconcilerUtils .getSpec (desired ));
70
- var actualSpecNode = objectMapper .valueToTree (ReconcilerUtils .getSpec (actualResource ));
71
- var diffJsonPatch = JsonDiff .asJson (desiredSpecNode , actualSpecNode );
72
- for (int i = 0 ; i < diffJsonPatch .size (); i ++) {
73
- String operation = diffJsonPatch .get (i ).get ("op" ).asText ();
74
- if (!operation .equals ("add" )) {
75
- return Result .computed (false , desired );
59
+ // reflection will be replaced by this:
60
+ // https://github.com/fabric8io/kubernetes-client/issues/3816
61
+ var desiredSpecNode = objectMapper .valueToTree (ReconcilerUtils .getSpec (desired ));
62
+ var actualSpecNode = objectMapper .valueToTree (ReconcilerUtils .getSpec (actualResource ));
63
+ var diffJsonPatch = JsonDiff .asJson (desiredSpecNode , actualSpecNode );
64
+ for (int i = 0 ; i < diffJsonPatch .size (); i ++) {
65
+ String operation = diffJsonPatch .get (i ).get ("op" ).asText ();
66
+ if (!operation .equals ("add" )) {
67
+ return Result .computed (false , desired );
68
+ }
76
69
}
70
+ return Result .computed (true , desired );
77
71
}
78
- return Result .computed (true , desired );
79
72
}
80
73
81
74
/**
0 commit comments