aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-10-06 23:55:41 +0200
committerJon Bratseth <bratseth@gmail.com>2022-10-06 23:55:41 +0200
commit8fcec55c82a1035dd17a59eb7bd1b1b65fb16f17 (patch)
tree4ea47e490d61b657601e338d70dbeb8977c2cdb8 /document/src/main/java/com/yahoo/document/json/readers/SingleValueReader.java
parent24c70d22397fad2c2d5d2e8b45d7da664283fd85 (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.java36
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));