From a03d915909a40b1519998fd8bcbfd47cd3662e73 Mon Sep 17 00:00:00 2001 From: Sriharsha Chintalapani Date: Sat, 9 Nov 2024 09:45:07 -0800 Subject: [PATCH] Minor: JsonUtils.extractValue shouldn't throw exceptions (#18554) --- .../org/openmetadata/service/util/JsonUtils.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonUtils.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonUtils.java index 0840d45bf36..c64c57eb2f3 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonUtils.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/JsonUtils.java @@ -517,14 +517,17 @@ public final class JsonUtils { public static T extractValue(String jsonResponse, String... keys) { JsonNode jsonNode = JsonUtils.readTree(jsonResponse); - - // Traverse the JSON structure using keys for (String key : keys) { jsonNode = jsonNode.path(key); } - - // Extract the final value - return JsonUtils.treeToValue(jsonNode, (Class) getValueClass(jsonNode)); + if (jsonNode.isMissingNode() || jsonNode.isNull()) { + return null; + } + try { + return JsonUtils.treeToValue(jsonNode, (Class) getValueClass(jsonNode)); + } catch (Exception e) { + return null; + } } public static T extractValue(JsonNode jsonNode, String... keys) {