diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-11-23 16:07:43 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-11-23 16:12:51 +0100 |
commit | ef535f6c51393d945d9fe07de38de224d5ae443f (patch) | |
tree | 2f5976537a200aebbf6644b8e1ef93f2c669319d /model-integration | |
parent | f966346429c85fc31c8ea962b518e02a19f77f46 (diff) |
jackson 2.16 changes some of its default settings so we consolidate our use of the ObjectMapper.
Unless special options are used, use a common instance, or create via factory metod.
Diffstat (limited to 'model-integration')
3 files changed, 7 insertions, 8 deletions
diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMImporter.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMImporter.java index bbd0e090762..7e23f8c01c8 100644 --- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMImporter.java +++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMImporter.java @@ -1,12 +1,12 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.rankingexpression.importer.lightgbm; +import ai.vespa.json.Jackson; import ai.vespa.rankingexpression.importer.ImportedModel; import ai.vespa.rankingexpression.importer.ModelImporter; import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModel; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.databind.ObjectMapper; import com.yahoo.searchlib.rankingexpression.RankingExpression; import com.yahoo.searchlib.rankingexpression.parser.ParseException; @@ -20,7 +20,6 @@ import java.io.IOException; */ public class LightGBMImporter extends ModelImporter { - private final ObjectMapper objectMapper = new ObjectMapper(); @Override public boolean canImport(String modelPath) { File modelFile = new File(modelPath); @@ -33,8 +32,7 @@ public class LightGBMImporter extends ModelImporter { * Currently, we just check if the json has an element called "tree_info" */ private boolean probe(File modelFile) { - try { - JsonParser parser = objectMapper.createParser(modelFile); + try (JsonParser parser = Jackson.mapper().createParser(modelFile)) { while (parser.nextToken() != null) { JsonToken token = parser.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMParser.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMParser.java index 9b63d7f47e2..5eb6e2fb474 100644 --- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMParser.java +++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/lightgbm/LightGBMParser.java @@ -1,6 +1,7 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.rankingexpression.importer.lightgbm; +import ai.vespa.json.Jackson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonNode; @@ -27,8 +28,8 @@ class LightGBMParser { private final List<String> featureNames; private final Map<Integer, List<String>> categoryValues; // pr feature index - LightGBMParser(String filePath) throws JsonProcessingException, IOException { - ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + LightGBMParser(String filePath) throws IOException { + ObjectMapper mapper = Jackson.createMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); JsonNode root = mapper.readTree(new File(filePath)); objective = root.get("objective").asText("regression"); diff --git a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostParser.java b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostParser.java index cfb7c5b76bd..ad38a13d153 100644 --- a/model-integration/src/main/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostParser.java +++ b/model-integration/src/main/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostParser.java @@ -6,9 +6,9 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import ai.vespa.json.Jackson; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; /** * @author grace-lam @@ -26,7 +26,7 @@ class XGBoostParser { */ XGBoostParser(String filePath) throws JsonProcessingException, IOException { this.xgboostTrees = new ArrayList<>(); - ObjectMapper mapper = new ObjectMapper(); + var mapper = Jackson.mapper(); JsonNode forestNode = mapper.readTree(new File(filePath)); for (JsonNode treeNode : forestNode) { this.xgboostTrees.add(mapper.treeToValue(treeNode, XGBoostTree.class)); |