From 7204d5b3d2ae5609955c43778029c32caa36e88a Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Wed, 21 Jun 2023 09:59:13 +0200 Subject: [PATCH] fix: remove unneeded Jackson exception reference --- ...BasedGenericKubernetesResourceMatcher.java | 61 ++++++++----------- 1 file changed, 26 insertions(+), 35 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java index 36b2eecbda..ae23fb8afa 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java @@ -20,8 +20,6 @@ import io.javaoperatorsdk.operator.OperatorException; import io.javaoperatorsdk.operator.api.reconciler.Context; -import com.fasterxml.jackson.core.JsonProcessingException; - /** * Matches the actual state on the server vs the desired state. Based on the managedFields of SSA. * @@ -65,39 +63,36 @@ public static SSABasedGenericKubernetesResourceMatcher context) { - try { - var optionalManagedFieldsEntry = - checkIfFieldManagerExists(actual, context.getControllerConfiguration().fieldManager()); - // If no field is managed by our controller, that means the controller hasn't touched the - // resource yet and the resource probably doesn't match the desired state. Not matching here - // means that the resource will need to be updated and since this will be done using SSA, the - // fields our controller cares about will become managed by it - if (optionalManagedFieldsEntry.isEmpty()) { - return false; - } + var optionalManagedFieldsEntry = + checkIfFieldManagerExists(actual, context.getControllerConfiguration().fieldManager()); + // If no field is managed by our controller, that means the controller hasn't touched the + // resource yet and the resource probably doesn't match the desired state. Not matching here + // means that the resource will need to be updated and since this will be done using SSA, the + // fields our controller cares about will become managed by it + if (optionalManagedFieldsEntry.isEmpty()) { + return false; + } - var managedFieldsEntry = optionalManagedFieldsEntry.orElseThrow(); + var managedFieldsEntry = optionalManagedFieldsEntry.orElseThrow(); - var objectMapper = context.getClient().getKubernetesSerialization(); + var objectMapper = context.getClient().getKubernetesSerialization(); - var actualMap = objectMapper.convertValue(actual, Map.class); - var desiredMap = objectMapper.convertValue(desired, Map.class); + var actualMap = objectMapper.convertValue(actual, Map.class); + var desiredMap = objectMapper.convertValue(desired, Map.class); - log.trace("Original actual: \n {} \n original desired: \n {} ", actual, desiredMap); + log.trace("Original actual: \n {} \n original desired: \n {} ", actual, desiredMap); - var prunedActual = new HashMap(actualMap.size()); - keepOnlyManagedFields(prunedActual, actualMap, - managedFieldsEntry.getFieldsV1().getAdditionalProperties(), objectMapper); + var prunedActual = new HashMap(actualMap.size()); + keepOnlyManagedFields(prunedActual, actualMap, + managedFieldsEntry.getFieldsV1().getAdditionalProperties(), objectMapper); - removeIrrelevantValues(desiredMap); + removeIrrelevantValues(desiredMap); - log.debug("Pruned actual: \n {} \n desired: \n {} ", prunedActual, desiredMap); + log.debug("Pruned actual: \n {} \n desired: \n {} ", prunedActual, desiredMap); - return prunedActual.equals(desiredMap); - } catch (JsonProcessingException e) { - throw new IllegalStateException(e); - } + return prunedActual.equals(desiredMap); } @SuppressWarnings("unchecked") @@ -115,8 +110,7 @@ private static void removeIrrelevantValues(Map desiredMap) { @SuppressWarnings("unchecked") private static void keepOnlyManagedFields(Map result, Map actualMap, - Map managedFields, KubernetesSerialization objectMapper) - throws JsonProcessingException { + Map managedFields, KubernetesSerialization objectMapper) { if (managedFields.isEmpty()) { result.putAll(actualMap); @@ -157,8 +151,8 @@ private static void keepOnlyManagedFields(Map result, @SuppressWarnings("unchecked") private static void fillResultsAndTraverseFurther(Map result, Map actualMap, Map managedFields, - KubernetesSerialization objectMapper, - String key, String keyInActual, Object managedFieldValue) throws JsonProcessingException { + KubernetesSerialization objectMapper, String key, String keyInActual, + Object managedFieldValue) { var emptyMapValue = new HashMap(); result.put(keyInActual, emptyMapValue); var actualMapValue = actualMap.get(keyInActual); @@ -208,11 +202,7 @@ private static void handleListKeyEntrySet(Map result, targetValuesByIndex.forEach((key, value) -> { var emptyResMapValue = new HashMap(); valueList.add(emptyResMapValue); - try { - keepOnlyManagedFields(emptyResMapValue, value, managedEntryByIndex.get(key), objectMapper); - } catch (JsonProcessingException ex) { - throw new IllegalStateException(ex); - } + keepOnlyManagedFields(emptyResMapValue, value, managedEntryByIndex.get(key), objectMapper); }); } @@ -278,6 +268,7 @@ private static boolean isKeyPrefixedSkippingDotKey(Set return managedFieldEntry.getKey().startsWith(prefix); } + @SuppressWarnings("unchecked") private static java.util.Map.Entry> selectListEntryBasedOnKey( String key, List> values,