diff options
author | Haakon Dybdahl <dybdahl@yahoo-inc.com> | 2017-02-10 09:44:46 +0100 |
---|---|---|
committer | Haakon Dybdahl <dybdahl@yahoo-inc.com> | 2017-02-10 09:44:46 +0100 |
commit | c055d6158aa6679bd99e6c30491c799d5fc99f0d (patch) | |
tree | ce8adda3c1999bb6a5d4e94dd0a9b658f0f47993 /document/src/main | |
parent | 43a8b52eb70f6de9db64ee36a720a97ff1410e17 (diff) |
Code review improvements.
Diffstat (limited to 'document/src/main')
-rw-r--r-- | document/src/main/java/com/yahoo/document/json/JsonReader.java | 3 | ||||
-rw-r--r-- | document/src/main/java/com/yahoo/document/json/document/DocumentParser.java | 21 |
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); |