diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-09 11:52:03 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2023-01-09 11:52:03 +0100 |
commit | af5ac0cf75da78148b80ad49ec82fa3cd0ccb526 (patch) | |
tree | cda1a9f2c99a1974f7b26f80481a7594b5dcba6b /document/src/main/java | |
parent | 9fbd8f8cd4268ff92a29c91f42fa0e8ed5b656fc (diff) |
Don't skip too far
Diffstat (limited to 'document/src/main/java')
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; } |