summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-11-23 16:07:43 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2023-11-23 16:12:51 +0100
commitef535f6c51393d945d9fe07de38de224d5ae443f (patch)
tree2f5976537a200aebbf6644b8e1ef93f2c669319d /container-search/src/main/java/com
parentf966346429c85fc31c8ea962b518e02a19f77f46 (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 'container-search/src/main/java/com')
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/Json2SingleLevelMap.java7
-rw-r--r--container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java14
2 files changed, 9 insertions, 12 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/Json2SingleLevelMap.java b/container-search/src/main/java/com/yahoo/search/handler/Json2SingleLevelMap.java
index 2fc032c0e44..d04ddc0c2ac 100644
--- a/container-search/src/main/java/com/yahoo/search/handler/Json2SingleLevelMap.java
+++ b/container-search/src/main/java/com/yahoo/search/handler/Json2SingleLevelMap.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 com.yahoo.search.handler;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonFactoryBuilder;
import com.fasterxml.jackson.core.JsonLocation;
import com.fasterxml.jackson.core.JsonParseException;
@@ -42,11 +43,9 @@ class Json2SingleLevelMap {
}
private static ObjectMapper createMapper() {
- var jsonFactory = new JsonFactoryBuilder()
+ return Jackson.createMapper(new JsonFactoryBuilder()
.streamReadConstraints(StreamReadConstraints.builder().maxStringLength(Integer.MAX_VALUE).build())
- .configure(JsonReadFeature.ALLOW_SINGLE_QUOTES, true)
- .build();
- return new ObjectMapper(jsonFactory);
+ .configure(JsonReadFeature.ALLOW_SINGLE_QUOTES, true));
}
Map<String, String> parse() {
diff --git a/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java b/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java
index 2a44250904b..e2fc5baa4e3 100644
--- a/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java
+++ b/container-search/src/main/java/com/yahoo/search/rendering/JsonRenderer.java
@@ -1,13 +1,13 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.rendering;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonFactoryBuilder;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.StreamReadConstraints;
import com.fasterxml.jackson.core.TreeNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Preconditions;
import com.yahoo.container.logging.TraceRenderer;
import com.yahoo.data.JsonProducer;
@@ -177,11 +177,9 @@ public class JsonRenderer extends AsynchronousSectionedRenderer<Result> {
}
private static JsonFactory createGeneratorFactory() {
- var factory = new JsonFactoryBuilder()
- .streamReadConstraints(StreamReadConstraints.builder().maxStringLength(Integer.MAX_VALUE).build())
- .build();
- factory.setCodec(new ObjectMapper(factory).disable(FLUSH_AFTER_WRITE_VALUE));
- return factory;
+ return Jackson.createMapper(new JsonFactoryBuilder()
+ .streamReadConstraints(StreamReadConstraints.builder().maxStringLength(Integer.MAX_VALUE).build()))
+ .disable(FLUSH_AFTER_WRITE_VALUE).getFactory();
}
@Override
@@ -358,7 +356,7 @@ public class JsonRenderer extends AsynchronousSectionedRenderer<Result> {
generator.writeNumberField(RELEVANCE, hit.getRelevance().getScore());
- if (hit.types().size() > 0) {
+ if (!hit.types().isEmpty()) {
generator.writeArrayFieldStart(TYPES);
for (String t : hit.types()) {
generator.writeString(t);
@@ -505,7 +503,7 @@ public class JsonRenderer extends AsynchronousSectionedRenderer<Result> {
private boolean shouldRenderJsonCallback() {
String jsonCallback = getJsonCallback();
- return jsonCallback != null && !"".equals(jsonCallback);
+ return jsonCallback != null && !jsonCallback.isEmpty();
}
private String getJsonCallback() {