summaryrefslogtreecommitdiffstats
path: root/document/src/main/java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-01-13 13:55:54 +0100
committerJon Bratseth <bratseth@gmail.com>2023-01-13 13:55:54 +0100
commita289581cbf94ff6997356110b54bd6993e956b9e (patch)
treeae2d2ee5e4fd7cb64642c8f7a99a1b9d2ab98111 /document/src/main/java
parentfeb27aa51f1274e2b247b8f764f3293c7e5f1ad6 (diff)
Handle type rendering
- Always output type for consistency. - Ignore type in input.
Diffstat (limited to 'document/src/main/java')
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java2
-rw-r--r--document/src/main/java/com/yahoo/document/json/readers/TensorReader.java4
2 files changed, 5 insertions, 1 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java b/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java
index 0f6d6cb4a65..a3cda4034ac 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java
@@ -80,7 +80,7 @@ public class JsonSerializationHelper {
fieldNameIfNotNull(generator, field);
if (value.getTensor().isPresent()) {
Tensor tensor = value.getTensor().get();
- byte[] encoded = shortForm ? JsonFormat.encodeShortForm(tensor) : JsonFormat.encode(tensor);
+ byte[] encoded = shortForm ? JsonFormat.encodeShortForm(tensor) : JsonFormat.encodeWithType(tensor);
generator.writeRawValue(new String(encoded, StandardCharsets.UTF_8));
}
else {
diff --git a/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java b/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java
index 0d971859550..914ab670142 100644
--- a/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java
+++ b/document/src/main/java/com/yahoo/document/json/readers/TensorReader.java
@@ -22,6 +22,7 @@ import static com.yahoo.tensor.serialization.JsonFormat.decodeHexString;
*/
public class TensorReader {
+ public static final String TENSOR_TYPE = "type";
public static final String TENSOR_ADDRESS = "address";
public static final String TENSOR_CELLS = "cells";
public static final String TENSOR_VALUES = "values";
@@ -43,6 +44,9 @@ public class TensorReader {
else if (TENSOR_BLOCKS.equals(buffer.currentName())) {
readTensorBlocks(buffer, builder);
}
+ else if (TENSOR_TYPE.equals(buffer.currentName()) && buffer.current() == JsonToken.VALUE_STRING) {
+ // Ignore input tensor type
+ }
else {
buffer.previous(); // Back up to the start of the enclosing block
readDirectTensorValue(buffer, builder);