summaryrefslogtreecommitdiffstats
path: root/testutil
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-11-24 20:49:33 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2023-11-24 20:49:33 +0100
commit4ceba0e313d0ee0a24116ecf97081ab054531f1c (patch)
tree922e51a7e2ce2cbb43121be86a6a2347090c48c0 /testutil
parentbd3835e628508f679727e15961088edb3fd2706f (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.java30
-rw-r--r--testutil/src/main/java/com/yahoo/test/json/JsonTestHelper.java2
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.