aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'document/src/main/java')
-rw-r--r--document/src/main/java/com/yahoo/document/DocumentUpdate.java10
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonWriter.java8
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/DocumentUpdateWriter.java3
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/DocumentWriter.java3
4 files changed, 16 insertions, 8 deletions
diff --git a/document/src/main/java/com/yahoo/document/DocumentUpdate.java b/document/src/main/java/com/yahoo/document/DocumentUpdate.java
index d3063b76feb..20d9b352d2d 100644
--- a/document/src/main/java/com/yahoo/document/DocumentUpdate.java
+++ b/document/src/main/java/com/yahoo/document/DocumentUpdate.java
@@ -147,7 +147,7 @@ public class DocumentUpdate extends DocumentOperation implements Iterable<FieldP
Map.Entry<Integer, FieldUpdate> entry = iter.next();
FieldUpdate update = entry.getValue();
if (!update.isEmpty()) {
- ValueUpdate last = update.getValueUpdate(update.size() - 1);
+ ValueUpdate<?> last = update.getValueUpdate(update.size() - 1);
if (last instanceof AssignValueUpdate) {
FieldValue currentValue = doc.getFieldValue(update.getField());
if ((currentValue != null) && currentValue.equals(last.getValue())) {
@@ -190,7 +190,7 @@ public class DocumentUpdate extends DocumentOperation implements Iterable<FieldP
/** Returns the type of the document this updates
*
- * @return The documentype of the document
+ * @return The document type of the document
*/
public DocumentType getDocumentType() {
return documentType;
@@ -357,9 +357,7 @@ public class DocumentUpdate extends DocumentOperation implements Iterable<FieldP
@Override
public boolean equals(Object o) {
if (this == o) return true;
- if (!(o instanceof DocumentUpdate)) return false;
-
- DocumentUpdate that = (DocumentUpdate) o;
+ if (!(o instanceof DocumentUpdate that)) return false;
if (docId != null ? !docId.equals(that.docId) : that.docId != null) return false;
if (documentType != null ? !documentType.equals(that.documentType) : that.documentType != null) return false;
@@ -413,7 +411,7 @@ public class DocumentUpdate extends DocumentOperation implements Iterable<FieldP
}
/**
- * Returns whether or not this field update contains any field- or field path updates.
+ * Returns whether this field update contains any field- or field path updates.
*
* @return True if this update is empty.
*/
diff --git a/document/src/main/java/com/yahoo/document/json/JsonWriter.java b/document/src/main/java/com/yahoo/document/json/JsonWriter.java
index 9cbadb65f10..2b0ba138466 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonWriter.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonWriter.java
@@ -9,6 +9,7 @@ import com.yahoo.document.Document;
import com.yahoo.document.DocumentId;
import com.yahoo.document.DocumentRemove;
import com.yahoo.document.DocumentType;
+import com.yahoo.document.DocumentUpdate;
import com.yahoo.document.Field;
import com.yahoo.document.annotation.AnnotationReference;
import com.yahoo.document.datatypes.Array;
@@ -264,6 +265,7 @@ public class JsonWriter implements DocumentWriter {
// NOP, fetched from Document
}
+ @Override
public void write(DocumentRemove documentRemove) {
try {
generator.writeStartObject();
@@ -277,6 +279,12 @@ public class JsonWriter implements DocumentWriter {
}
}
+ @Override
+ public void write(DocumentUpdate documentUpdate) {
+ var serializer = new DocumentUpdateJsonSerializer(generator);
+ serializer.serialize(documentUpdate);
+ }
+
/**
* Utility method to easily serialize a single document.
*
diff --git a/document/src/main/java/com/yahoo/document/serialization/DocumentUpdateWriter.java b/document/src/main/java/com/yahoo/document/serialization/DocumentUpdateWriter.java
index 0202ec8bf23..b9cc439ad54 100644
--- a/document/src/main/java/com/yahoo/document/serialization/DocumentUpdateWriter.java
+++ b/document/src/main/java/com/yahoo/document/serialization/DocumentUpdateWriter.java
@@ -17,8 +17,7 @@ import com.yahoo.document.update.TensorRemoveUpdate;
/**
* Interface for writing document updates in custom serializers.
*
- * @author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
- * @since 5.1.27
+ * @author Einar M R Rosenvinge
*/
public interface DocumentUpdateWriter {
void write(DocumentUpdate update);
diff --git a/document/src/main/java/com/yahoo/document/serialization/DocumentWriter.java b/document/src/main/java/com/yahoo/document/serialization/DocumentWriter.java
index 10483d8609f..16125926fe6 100644
--- a/document/src/main/java/com/yahoo/document/serialization/DocumentWriter.java
+++ b/document/src/main/java/com/yahoo/document/serialization/DocumentWriter.java
@@ -5,6 +5,7 @@ import com.yahoo.document.Document;
import com.yahoo.document.DocumentId;
import com.yahoo.document.DocumentRemove;
import com.yahoo.document.DocumentType;
+import com.yahoo.document.DocumentUpdate;
/**
* @author ravishar
@@ -20,4 +21,6 @@ public interface DocumentWriter extends FieldWriter {
void write(DocumentRemove documentRemove);
+ void write(DocumentUpdate documentUpdate);
+
}