diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-11-24 20:49:33 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-11-24 20:49:33 +0100 |
commit | 4ceba0e313d0ee0a24116ecf97081ab054531f1c (patch) | |
tree | 922e51a7e2ce2cbb43121be86a6a2347090c48c0 /testutil | |
parent | bd3835e628508f679727e15961088edb3fd2706f (diff) |
Move to container core due to OSGI, keep a copy in testutil for use in tests in no OSGI modules.
Diffstat (limited to 'testutil')
-rw-r--r-- | testutil/src/main/java/com/yahoo/test/json/Jackson.java | 30 | ||||
-rw-r--r-- | testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java | 2 |
2 files changed, 31 insertions, 1 deletions
diff --git a/testutil/src/main/java/com/yahoo/test/json/Jackson.java b/testutil/src/main/java/com/yahoo/test/json/Jackson.java new file mode 100644 index 00000000000..115cc645a25 --- /dev/null +++ b/testutil/src/main/java/com/yahoo/test/json/Jackson.java @@ -0,0 +1,30 @@ +package com.yahoo.test.json; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonFactoryBuilder; +import com.fasterxml.jackson.core.StreamReadFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * Utility class to get jackson json parsers with common settings. + * TODO Belong in vespajlib, but due to OSGI resides here for testing . + * There master resides in container-core for use in OSGI modules + */public class Jackson { + private static final ObjectMapper mapperInstance = createMapper(); + /// Create an ObjectMapper based on given factory, adds additional recommended settings + public static ObjectMapper createMapper() { + return createMapper(new JsonFactoryBuilder()); + } + + /// Create an ObjectMapper based on given factory, adds additional recommended settings + public static ObjectMapper createMapper(JsonFactoryBuilder jsonFactoryBuilder) { + JsonFactory jsonFactory = jsonFactoryBuilder + // This changes in 2.16, needs to consider what to do + .configure(StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION, true) + .build(); + return new ObjectMapper(jsonFactory); + } + + /// Return a default ObjectMapper with recommended settings + public static ObjectMapper mapper() { return mapperInstance; } +} diff --git a/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java b/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java index 575c2f52b88..aff10e6fc0d 100644 --- a/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java +++ b/testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java @@ -14,7 +14,7 @@ import java.io.UncheckedIOException; */ public class JsonTestHelper { - private static final ObjectMapper mapper = new ObjectMapper(); + private static final ObjectMapper mapper = Jackson.mapper(); /** * Returns a normalized JSON String. |