diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-10-06 23:55:41 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-10-06 23:55:41 +0200 |
commit | 8fcec55c82a1035dd17a59eb7bd1b1b65fb16f17 (patch) | |
tree | 4ea47e490d61b657601e338d70dbeb8977c2cdb8 /document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java | |
parent | 24c70d22397fad2c2d5d2e8b45d7da664283fd85 (diff) |
Return X-Vespa-Ignored-Fields if fields were ignored
Diffstat (limited to 'document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java')
-rw-r--r-- | document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java | 36 |
1 files changed, 11 insertions, 25 deletions
diff --git a/document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java b/document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java index 1747e739bbf..3ae82676fa8 100644 --- a/document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java +++ b/document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java @@ -53,31 +53,17 @@ public class SingleValueReader { @SuppressWarnings("rawtypes") public static ValueUpdate readSingleUpdate(TokenBuffer buffer, DataType expectedType, String action, boolean ignoreUndefinedFields) { - ValueUpdate update; - - switch (action) { - case UPDATE_ASSIGN: - update = (buffer.currentToken() == JsonToken.VALUE_NULL) - ? ValueUpdate.createClear() - : ValueUpdate.createAssign(readSingleValue(buffer, expectedType, ignoreUndefinedFields)); - break; + return switch (action) { + case UPDATE_ASSIGN -> (buffer.currentToken() == JsonToken.VALUE_NULL) + ? ValueUpdate.createClear() + : ValueUpdate.createAssign(readSingleValue(buffer, expectedType, ignoreUndefinedFields)); // double is silly, but it's what is used internally anyway - case UPDATE_INCREMENT: - update = ValueUpdate.createIncrement(Double.valueOf(buffer.currentText())); - break; - case UPDATE_DECREMENT: - update = ValueUpdate.createDecrement(Double.valueOf(buffer.currentText())); - break; - case UPDATE_MULTIPLY: - update = ValueUpdate.createMultiply(Double.valueOf(buffer.currentText())); - break; - case UPDATE_DIVIDE: - update = ValueUpdate.createDivide(Double.valueOf(buffer.currentText())); - break; - default: - throw new IllegalArgumentException("Operation '" + buffer.currentName() + "' not implemented."); - } - return update; + case UPDATE_INCREMENT -> ValueUpdate.createIncrement(Double.valueOf(buffer.currentText())); + case UPDATE_DECREMENT -> ValueUpdate.createDecrement(Double.valueOf(buffer.currentText())); + case UPDATE_MULTIPLY -> ValueUpdate.createMultiply(Double.valueOf(buffer.currentText())); + case UPDATE_DIVIDE -> ValueUpdate.createDivide(Double.valueOf(buffer.currentText())); + default -> throw new IllegalArgumentException("Operation '" + buffer.currentName() + "' not implemented."); + }; } public static Matcher matchArithmeticOperation(String expression) { @@ -94,7 +80,7 @@ public class SingleValueReader { } } - private static FieldValue readReferenceFieldValue(final String refText, DataType expectedType) { + private static FieldValue readReferenceFieldValue(String refText, DataType expectedType) { final FieldValue value = expectedType.createFieldValue(); if (!refText.isEmpty()) { value.assign(new DocumentId(refText)); |