aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/main/java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-01-09 11:52:03 +0100
committerJon Bratseth <bratseth@gmail.com>2023-01-09 11:52:03 +0100
commitaf5ac0cf75da78148b80ad49ec82fa3cd0ccb526 (patch)
treecda1a9f2c99a1974f7b26f80481a7594b5dcba6b /document/src/main/java
parent9fbd8f8cd4268ff92a29c91f42fa0e8ed5b656fc (diff)
Don't skip too far
Diffstat (limited to 'document/src/main/java')
-rw-r--r--document/src/main/java/com/yahoo/document/json/TokenBuffer.java35
-rw-r--r--document/src/main/java/com/yahoo/document/json/readers/CompositeReader.java1
-rw-r--r--document/src/main/java/com/yahoo/document/json/readers/StructReader.java3
3 files changed, 24 insertions, 15 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/TokenBuffer.java b/document/src/main/java/com/yahoo/document/json/TokenBuffer.java
index 58ceeec4f4c..6b2bdbd53d8 100644
--- a/document/src/main/java/com/yahoo/document/json/TokenBuffer.java
+++ b/document/src/main/java/com/yahoo/document/json/TokenBuffer.java
@@ -17,18 +17,6 @@ import com.google.common.base.Preconditions;
*/
public class TokenBuffer {
- public static final class Token {
- public final JsonToken token;
- public final String name;
- public final String text;
-
- Token(JsonToken token, String name, String text) {
- this.token = token;
- this.name = name;
- this.text = text;
- }
- }
-
private final Deque<Token> buffer;
private int nesting = 0;
@@ -181,4 +169,27 @@ public class TokenBuffer {
} while ( nesting() > initialNesting + relativeNesting);
}
+ public Deque<Token> rest() {
+ return buffer;
+ }
+
+ public static final class Token {
+
+ public final JsonToken token;
+ public final String name;
+ public final String text;
+
+ Token(JsonToken token, String name, String text) {
+ this.token = token;
+ this.name = name;
+ this.text = text;
+ }
+
+ @Override
+ public String toString() {
+ return "Token(" + token + ", " + name + ", " + text + ")";
+ }
+
+ }
+
}
diff --git a/document/src/main/java/com/yahoo/document/json/readers/CompositeReader.java b/document/src/main/java/com/yahoo/document/json/readers/CompositeReader.java
index 6cbc1c1e0b1..27c18ea2f69 100644
--- a/document/src/main/java/com/yahoo/document/json/readers/CompositeReader.java
+++ b/document/src/main/java/com/yahoo/document/json/readers/CompositeReader.java
@@ -7,7 +7,6 @@ import com.yahoo.document.PositionDataType;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.FieldValue;
import com.yahoo.document.datatypes.MapFieldValue;
-import com.yahoo.document.datatypes.StringFieldValue;
import com.yahoo.document.datatypes.StructuredFieldValue;
import com.yahoo.document.datatypes.TensorFieldValue;
import com.yahoo.document.datatypes.WeightedSet;
diff --git a/document/src/main/java/com/yahoo/document/json/readers/StructReader.java b/document/src/main/java/com/yahoo/document/json/readers/StructReader.java
index b944d273a72..d489c03eb9d 100644
--- a/document/src/main/java/com/yahoo/document/json/readers/StructReader.java
+++ b/document/src/main/java/com/yahoo/document/json/readers/StructReader.java
@@ -30,8 +30,7 @@ public class StructReader {
throw new IllegalArgumentException("No field '" + buffer.currentName() + "' in the structure of type '" +
parent.getDataType().getDataTypeName() +
"', which has the fields: " + parent.getDataType().getFields());
-
- buffer.skipToRelativeNesting(0);
+ buffer.skipToRelativeNesting(1);
fullyApplied = false;
continue;
}