summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHaakon Dybdahl <dybdahl@yahoo-inc.com>2017-02-10 09:44:46 +0100
committerHaakon Dybdahl <dybdahl@yahoo-inc.com>2017-02-10 09:44:46 +0100
commitc055d6158aa6679bd99e6c30491c799d5fc99f0d (patch)
treece8adda3c1999bb6a5d4e94dd0a9b658f0f47993 /document
parent43a8b52eb70f6de9db64ee36a720a97ff1410e17 (diff)
Code review improvements.
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonReader.java3
-rw-r--r--document/src/main/java/com/yahoo/document/json/document/DocumentParser.java21
2 files changed, 12 insertions, 12 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/JsonReader.java b/document/src/main/java/com/yahoo/document/json/JsonReader.java
index 91a07aa6c5f..774169255b3 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonReader.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonReader.java
@@ -107,9 +107,8 @@ public class JsonReader {
break;
}
Optional<DocumentParseInfo> documentParseInfo;
- DocumentParser documentParser = new DocumentParser(parser);
try {
- documentParseInfo = documentParser.parse(Optional.empty());
+ documentParseInfo = parseDocument();
} catch (IOException r) {
// Jackson is not able to recover from structural parse errors
state = END_OF_FEED;
diff --git a/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java b/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java
index b2713a1bc79..283ef3bdc7a 100644
--- a/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java
+++ b/document/src/main/java/com/yahoo/document/json/document/DocumentParser.java
@@ -49,20 +49,20 @@ public class DocumentParser {
}
private void parseOneItem(DocumentParseInfo documentParseInfo, boolean docIdAndOperationIsSetExternally) throws IOException {
- // we should now be at the start of a feed operation or at the end of the feed
- JsonToken currentToken = parser.nextValue();
- processIndent(currentToken);
+ parser.nextValue();
+ processIndent();
if (parser.getCurrentName() == null) {
return;
}
if (indentLevel == 1L) {
- handleIdentLevelOne(documentParseInfo, currentToken, docIdAndOperationIsSetExternally);
+ handleIdentLevelOne(documentParseInfo, docIdAndOperationIsSetExternally);
} else if (indentLevel == 2L) {
- handleIdentLevelTwo(documentParseInfo, currentToken);
+ handleIdentLevelTwo(documentParseInfo);
}
}
- private void processIndent(JsonToken currentToken) throws IOException {
+ private void processIndent() throws IOException {
+ JsonToken currentToken = parser.currentToken();
if (currentToken == null) {
throw new IllegalArgumentException("Could not read document, no document?");
}
@@ -82,9 +82,9 @@ public class DocumentParser {
}
}
- private void handleIdentLevelOne(
- DocumentParseInfo documentParseInfo, JsonToken currentToken, boolean docIdAndOperationIsSetExternally)
+ private void handleIdentLevelOne(DocumentParseInfo documentParseInfo, boolean docIdAndOperationIsSetExternally)
throws IOException {
+ JsonToken currentToken = parser.getCurrentToken();
if (currentToken == JsonToken.VALUE_TRUE || currentToken == JsonToken.VALUE_FALSE) {
try {
if (CREATE_IF_NON_EXISTENT.equals(parser.getCurrentName())) {
@@ -110,12 +110,13 @@ public class DocumentParser {
}
}
- private void handleIdentLevelTwo(DocumentParseInfo documentParseInfo, JsonToken currentToken) {
+ private void handleIdentLevelTwo(DocumentParseInfo documentParseInfo) {
try {
+ JsonToken currentToken = parser.getCurrentToken();
// "Fields" opens a dictionary and is therefore on level two which might be surprising.
if (currentToken == JsonToken.START_OBJECT && FIELDS.equals(parser.getCurrentName())) {
documentParseInfo.fieldsBuffer.bufferObject(currentToken, parser);
- indentLevel--;
+ processIndent();
}
} catch (IOException e) {
throw new RuntimeException("Got IO exception while parsing document", e);