summaryrefslogtreecommitdiffstats
path: root/container-core
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-core
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-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/handler/metrics/ErrorResponse.java5
-rw-r--r--container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java4
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java7
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java11
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java5
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/JSONFormatter.java6
-rw-r--r--container-core/src/main/java/com/yahoo/container/logging/JsonConnectionLogWriter.java4
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java30
-rw-r--r--container-core/src/test/java/com/yahoo/container/handler/metrics/MetricsV2HandlerTest.java10
-rw-r--r--container-core/src/test/java/com/yahoo/container/handler/metrics/PrometheusV1HandlerTest.java8
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java4
-rw-r--r--container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java4
12 files changed, 32 insertions, 66 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/handler/metrics/ErrorResponse.java b/container-core/src/main/java/com/yahoo/container/handler/metrics/ErrorResponse.java
index b553763c2b5..650555bf427 100644
--- a/container-core/src/main/java/com/yahoo/container/handler/metrics/ErrorResponse.java
+++ b/container-core/src/main/java/com/yahoo/container/handler/metrics/ErrorResponse.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.container.handler.metrics;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -16,15 +17,13 @@ public class ErrorResponse extends JsonResponse {
private static final Logger log = Logger.getLogger(ErrorResponse.class.getName());
- private static final ObjectMapper objectMapper = new ObjectMapper();
-
public ErrorResponse(int code, String message) {
super(code, asErrorJson(message != null ? message : "<null>"));
}
static String asErrorJson(String message) {
try {
- return objectMapper.writeValueAsString(Map.of("error", message));
+ return Jackson.mapper().writeValueAsString(Map.of("error", message));
} catch (JsonProcessingException e) {
log.log(WARNING, "Could not encode error message to json:", e);
return "Could not encode error message to json, check the log for details.";
diff --git a/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java b/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java
index d0c1197b91e..d94a4e64bd3 100644
--- a/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java
+++ b/container-core/src/main/java/com/yahoo/container/handler/metrics/HttpHandlerBase.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.handler.metrics;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yahoo.container.jdisc.HttpRequest;
@@ -31,7 +31,6 @@ import static java.util.logging.Level.WARNING;
*/
public abstract class HttpHandlerBase extends ThreadedHttpRequestHandler implements CapabilityRequiringRequestHandler {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
private final Duration defaultTimeout;
protected HttpHandlerBase(Executor executor) {
@@ -85,6 +84,7 @@ public abstract class HttpHandlerBase extends ThreadedHttpRequestHandler impleme
base.append(":").append(port);
}
String uriBase = base.toString();
+ var jsonMapper = Jackson.mapper();
ArrayNode linkList = jsonMapper.createArrayNode();
for (String api : resources) {
ObjectNode resource = jsonMapper.createObjectNode();
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java
index 876c3657b9d..dff03f920b1 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/HostLifeGatherer.java
@@ -1,13 +1,11 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.jdisc.state;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yahoo.component.Vtag;
-import java.io.IOException;
-import java.nio.file.Path;
import java.time.Instant;
/**
@@ -15,9 +13,8 @@ import java.time.Instant;
*/
public class HostLifeGatherer {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
-
public static JsonNode getHostLifePacket() {
+ var jsonMapper = Jackson.mapper();
ObjectNode jsonObject = jsonMapper.createObjectNode();
jsonObject.put("timestamp", Instant.now().getEpochSecond());
jsonObject.put("application", "host_life");
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
index b94fadec213..a682dcd3965 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/MetricsPacketsHandler.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.container.jdisc.state;
+import ai.vespa.json.Jackson;
import ai.vespa.metrics.set.InfrastructureMetricSet;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
@@ -51,7 +52,7 @@ import static com.yahoo.container.jdisc.state.StateHandler.getSnapshotProviderOr
*/
public class MetricsPacketsHandler extends AbstractRequestHandler {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
+ private static final ObjectMapper jsonMapper = Jackson.mapper();
static final String APPLICATION_KEY = "application";
static final String TIMESTAMP_KEY = "timestamp";
@@ -226,8 +227,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
MetricValue value = metric.getValue();
if (value instanceof CountMetric) {
metrics.put(name + ".count", ((CountMetric) value).getCount());
- } else if (value instanceof GaugeMetric) {
- GaugeMetric gauge = (GaugeMetric) value;
+ } else if (value instanceof GaugeMetric gauge) {
metrics.put(name + ".average", sanitizeDouble(gauge.getAverage()))
.put(name + ".last", sanitizeDouble(gauge.getLast()))
.put(name + ".max", sanitizeDouble(gauge.getMax()))
@@ -252,8 +252,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
MetricValue value = metric.getValue();
if (value instanceof CountMetric) {
metrics.put(name + ".count", ((CountMetric) value).getCount());
- } else if (value instanceof GaugeMetric) {
- GaugeMetric gauge = (GaugeMetric) value;
+ } else if (value instanceof GaugeMetric gauge) {
metrics.put(name + ".average", sanitizeDouble(gauge.getAverage()));
metrics.put(name + ".last", sanitizeDouble(gauge.getLast()));
metrics.put(name + ".max", sanitizeDouble(gauge.getMax()));
@@ -262,7 +261,7 @@ public class MetricsPacketsHandler extends AbstractRequestHandler {
metrics.put(name + ".count", gauge.getCount());
if (gauge.getPercentiles().isPresent()) {
for (Tuple2<String, Double> prefixAndValue : gauge.getPercentiles().get()) {
- metrics.put(name + "." + prefixAndValue.first + "percentile", prefixAndValue.second.doubleValue());
+ metrics.put(name + "." + prefixAndValue.first + "percentile", prefixAndValue.second);
}
}
} else {
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java
index 045b13e5d63..281acfdce0f 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/state/StateHandler.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.container.jdisc.state;
+import ai.vespa.json.Jackson;
import ai.vespa.metrics.ContainerMetrics;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
@@ -45,7 +46,7 @@ import static com.yahoo.container.jdisc.state.JsonUtil.sanitizeDouble;
*/
public class StateHandler extends AbstractRequestHandler implements CapabilityRequiringRequestHandler {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
+ private static final ObjectMapper jsonMapper = Jackson.mapper();
public static final String STATE_API_ROOT = "/state/v1";
private static final String METRICS_PATH = "metrics";
@@ -73,7 +74,7 @@ public class StateHandler extends AbstractRequestHandler implements CapabilityRe
static SnapshotProvider getSnapshotProviderOrThrow(ComponentRegistry<SnapshotProvider> preprocessors) {
List<SnapshotProvider> allPreprocessors = preprocessors.allComponents();
- if (allPreprocessors.size() > 0) {
+ if (!allPreprocessors.isEmpty()) {
return allPreprocessors.get(0);
} else {
throw new IllegalArgumentException("At least one snapshot provider is required.");
diff --git a/container-core/src/main/java/com/yahoo/container/logging/JSONFormatter.java b/container-core/src/main/java/com/yahoo/container/logging/JSONFormatter.java
index adf44e8b384..13964931779 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/JSONFormatter.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/JSONFormatter.java
@@ -1,10 +1,10 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.logging;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.yolean.trace.TraceNode;
import java.io.IOException;
@@ -32,10 +32,10 @@ public class JSONFormatter implements LogWriter<RequestLogEntry> {
private final JsonFactory generatorFactory;
- private static Logger logger = Logger.getLogger(JSONFormatter.class.getName());
+ private static final Logger logger = Logger.getLogger(JSONFormatter.class.getName());
public JSONFormatter() {
- generatorFactory = new JsonFactory(new ObjectMapper());
+ generatorFactory = new JsonFactory(Jackson.mapper());
}
@Override
diff --git a/container-core/src/main/java/com/yahoo/container/logging/JsonConnectionLogWriter.java b/container-core/src/main/java/com/yahoo/container/logging/JsonConnectionLogWriter.java
index 407fa7860f6..0ca26671446 100644
--- a/container-core/src/main/java/com/yahoo/container/logging/JsonConnectionLogWriter.java
+++ b/container-core/src/main/java/com/yahoo/container/logging/JsonConnectionLogWriter.java
@@ -1,10 +1,10 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.logging;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.container.logging.ConnectionLogEntry.SslHandshakeFailure.ExceptionEntry;
import java.io.IOException;
@@ -20,7 +20,7 @@ import java.util.Optional;
*/
class JsonConnectionLogWriter implements LogWriter<ConnectionLogEntry> {
- private final JsonFactory jsonFactory = new JsonFactory(new ObjectMapper());
+ private final JsonFactory jsonFactory = new JsonFactory(Jackson.mapper());
@Override
public void write(ConnectionLogEntry record, OutputStream outputStream) throws IOException {
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
index 1698613a264..665254ad2ca 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterUtils.java
@@ -1,23 +1,18 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.jdisc.http.filter.util;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.TextNode;
import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.handler.ContentChannel;
import com.yahoo.jdisc.handler.ResponseHandler;
import com.yahoo.jdisc.http.Cookie;
-import com.yahoo.jdisc.http.filter.DiscFilterRequest;
-import com.yahoo.jdisc.http.server.jetty.RequestUtils;
import java.io.UncheckedIOException;
-import java.net.URI;
-import java.net.URISyntaxException;
import java.nio.ByteBuffer;
import java.util.List;
-import java.util.Optional;
/**
* Helper methods for auth0/okta request filters.
@@ -26,17 +21,6 @@ import java.util.Optional;
*/
public class FilterUtils {
- private static final ObjectMapper mapper = new ObjectMapper();
-
- public static boolean isDifferentOrigin(DiscFilterRequest request) {
- try {
- String origin = request.getHeader("Origin");
- if (origin != null && !URI.create(origin).getHost().equals(request.getServerName()))
- return true;
- } catch (RuntimeException ignored) { }
- return false;
- }
-
public static void sendRedirectResponse(ResponseHandler handler, List<Cookie> cookies, String location) {
Response response = createResponse(Response.Status.FOUND, cookies);
response.headers().add("Location", location);
@@ -47,6 +31,7 @@ public class FilterUtils {
Response response = createResponse(code, cookies);
ContentChannel contentChannel = handler.handleResponse(response);
try {
+ var mapper = Jackson.mapper();
ObjectNode jsonNode = mapper.createObjectNode();
jsonNode.set("message", TextNode.valueOf(message));
byte[] jsonBytes = mapper.writerWithDefaultPrettyPrinter().writeValueAsBytes(jsonNode);
@@ -64,15 +49,4 @@ public class FilterUtils {
return response;
}
- public static URI createUriFromRequest(DiscFilterRequest request, String path, Optional<String> hostOverride) {
- try {
- // Prefer local port as observed by client over local listen port
- int port = Optional.ofNullable((Integer)request.getAttribute(RequestUtils.JDICS_REQUEST_PORT))
- .orElse(request.getUri().getPort());
- String host = hostOverride.orElse(request.getServerName());
- return new URI(request.getScheme(), null, host, port, path, null, null);
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
}
diff --git a/container-core/src/test/java/com/yahoo/container/handler/metrics/MetricsV2HandlerTest.java b/container-core/src/test/java/com/yahoo/container/handler/metrics/MetricsV2HandlerTest.java
index 2fa55a3dd59..e1acf4708c1 100644
--- a/container-core/src/test/java/com/yahoo/container/handler/metrics/MetricsV2HandlerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/handler/metrics/MetricsV2HandlerTest.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.handler.metrics;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
import com.yahoo.container.jdisc.RequestHandlerTestDriver;
@@ -33,8 +33,6 @@ import static org.junit.jupiter.api.Assertions.*;
*/
public class MetricsV2HandlerTest {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
-
private static final String URI_BASE = "http://localhost";
private static final String V2_URI = URI_BASE + V2_PATH;
@@ -80,7 +78,7 @@ public class MetricsV2HandlerTest {
@Test
void v2_response_contains_values_uri() throws Exception {
String response = testDriver.sendRequest(V2_URI).readAll();
- JsonNode root = jsonMapper.readTree(response);
+ JsonNode root = Jackson.mapper().readTree(response);
assertTrue(root.has("resources"));
ArrayNode resources = (ArrayNode) root.get("resources");
@@ -100,7 +98,7 @@ public class MetricsV2HandlerTest {
@Test
void invalid_path_yields_error_response() throws Exception {
String response = testDriver.sendRequest(V2_URI + "/invalid").readAll();
- JsonNode root = jsonMapper.readTree(response);
+ JsonNode root = Jackson.mapper().readTree(response);
assertTrue(root.has("error"));
assertTrue(root.get("error").textValue().startsWith("No content"));
}
@@ -127,7 +125,7 @@ public class MetricsV2HandlerTest {
private JsonNode getResponseAsJson(String consumer) {
String response = testDriver.sendRequest(VALUES_URI + consumerQuery(consumer)).readAll();
try {
- return jsonMapper.readTree(response);
+ return Jackson.mapper().readTree(response);
} catch (IOException e) {
fail("Failed to create json object: " + e.getMessage());
throw new RuntimeException(e);
diff --git a/container-core/src/test/java/com/yahoo/container/handler/metrics/PrometheusV1HandlerTest.java b/container-core/src/test/java/com/yahoo/container/handler/metrics/PrometheusV1HandlerTest.java
index e206188dcd8..9e0f9685328 100644
--- a/container-core/src/test/java/com/yahoo/container/handler/metrics/PrometheusV1HandlerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/handler/metrics/PrometheusV1HandlerTest.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.handler.metrics;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
import com.yahoo.container.jdisc.RequestHandlerTestDriver;
@@ -28,8 +28,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
*/
public class PrometheusV1HandlerTest {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
-
private static final String URI_BASE = "http://localhost";
private static final String V1_URI = URI_BASE + PrometheusV1Handler.V1_PATH;
@@ -76,7 +74,7 @@ public class PrometheusV1HandlerTest {
@Test
void v1_response_contains_values_uri() throws Exception {
String response = testDriver.sendRequest(V1_URI).readAll();
- JsonNode root = jsonMapper.readTree(response);
+ JsonNode root = Jackson.mapper().readTree(response);
assertTrue(root.has("resources"));
ArrayNode resources = (ArrayNode) root.get("resources");
@@ -96,7 +94,7 @@ public class PrometheusV1HandlerTest {
@Test
void invalid_path_yields_error_response() throws Exception {
String response = testDriver.sendRequest(V1_URI + "/invalid").readAll();
- JsonNode root = jsonMapper.readTree(response);
+ JsonNode root = Jackson.mapper().readTree(response);
assertTrue(root.has("error"));
assertTrue(root.get("error").textValue().startsWith("No content"));
}
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
index 3eeb8cb7e80..e0251b81463 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/MetricsPacketsHandlerTest.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.jdisc.state;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.container.jdisc.RequestHandlerTestDriver;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -238,7 +238,7 @@ public class MetricsPacketsHandlerTest extends StateHandlerTestBase {
private List<JsonNode> toJsonPackets(String response) throws Exception {
List<JsonNode> jsonPackets = new ArrayList<>();
String[] packets = response.split(PACKET_SEPARATOR);
- ObjectMapper mapper = new ObjectMapper();
+ var mapper = Jackson.mapper();
for (String packet : packets) {
jsonPackets.add(mapper.readTree(mapper.getFactory().createParser(packet)));
}
diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java
index 56a6d49f398..4b6ce82a940 100644
--- a/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java
+++ b/container-core/src/test/java/com/yahoo/container/jdisc/state/StateHandlerTestBase.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.jdisc.state;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.component.ComponentId;
import com.yahoo.component.provider.ComponentRegistry;
import com.yahoo.container.core.ApplicationMetadataConfig;
@@ -60,7 +60,7 @@ public class StateHandlerTestBase {
}
JsonNode requestAsJson(String requestUri) throws Exception {
- ObjectMapper mapper = new ObjectMapper();
+ var mapper = Jackson.mapper();
return mapper.readTree(mapper.getFactory().createParser(requestAsString(requestUri)));
}