aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/main/java/com/yahoo/document/json/JsonWriter.java
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2022-05-29 15:32:41 +0200
committerLester Solbakken <lesters@oath.com>2022-05-29 15:32:41 +0200
commit03a474a19bfa518d9d71f4981fad2aec0722a755 (patch)
treea1f1222be18f7324279a78ef745f8285515cc916 /document/src/main/java/com/yahoo/document/json/JsonWriter.java
parent9aebfc50b7f0f967bb68e5e6986bc03afc469bd5 (diff)
Add tensor short form rendering to document/v1
Diffstat (limited to 'document/src/main/java/com/yahoo/document/json/JsonWriter.java')
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonWriter.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/JsonWriter.java b/document/src/main/java/com/yahoo/document/json/JsonWriter.java
index 95faf753877..05147d2c0ab 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonWriter.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonWriter.java
@@ -63,6 +63,7 @@ import static com.yahoo.document.json.JsonSerializationHelper.serializeStringFie
import static com.yahoo.document.json.JsonSerializationHelper.serializeStructField;
import static com.yahoo.document.json.JsonSerializationHelper.serializeStructuredField;
import static com.yahoo.document.json.JsonSerializationHelper.serializeTensorField;
+import static com.yahoo.document.json.JsonSerializationHelper.serializeTensorFieldShortForm;
import static com.yahoo.document.json.JsonSerializationHelper.serializeWeightedSet;
import static com.yahoo.document.json.document.DocumentParser.FIELDS;
import static com.yahoo.document.json.document.DocumentParser.REMOVE;
@@ -77,6 +78,8 @@ public class JsonWriter implements DocumentWriter {
private static final JsonFactory jsonFactory = new JsonFactory();
private final JsonGenerator generator;
+ private final boolean tensorShortForm;
+
// I really hate exception unsafe constructors, but the alternative
// requires generator to not be a final
/**
@@ -108,7 +111,12 @@ public class JsonWriter implements DocumentWriter {
* the output JSON generator
*/
public JsonWriter(JsonGenerator generator) {
+ this(generator, false);
+ }
+
+ public JsonWriter(JsonGenerator generator, boolean tensorShortForm) {
this.generator = generator;
+ this.tensorShortForm = tensorShortForm;
}
/**
@@ -206,7 +214,11 @@ public class JsonWriter implements DocumentWriter {
@Override
public void write(FieldBase field, TensorFieldValue value) {
- serializeTensorField(generator, field, value);
+ if (tensorShortForm) {
+ serializeTensorFieldShortForm(generator, field, value);
+ } else {
+ serializeTensorField(generator, field, value);
+ }
}
@Override