diff options
5 files changed, 13 insertions, 72 deletions
diff --git a/document/src/main/java/com/yahoo/document/fieldpathupdate/AddFieldPathUpdate.java b/document/src/main/java/com/yahoo/document/fieldpathupdate/AddFieldPathUpdate.java index 9fac025c15e..74b94b8135e 100644 --- a/document/src/main/java/com/yahoo/document/fieldpathupdate/AddFieldPathUpdate.java +++ b/document/src/main/java/com/yahoo/document/fieldpathupdate/AddFieldPathUpdate.java @@ -8,7 +8,7 @@ import com.yahoo.document.datatypes.CollectionFieldValue; import com.yahoo.document.datatypes.FieldPathIteratorHandler; import com.yahoo.document.datatypes.FieldValue; import com.yahoo.document.serialization.DocumentUpdateReader; -import com.yahoo.document.serialization.VespaDocumentSerializerHead; +import com.yahoo.document.serialization.VespaDocumentSerializer6; /** * @author <a href="mailto:thomasg@yahoo-inc.com">Thomas Gundersen</a> @@ -96,7 +96,7 @@ public class AddFieldPathUpdate extends FieldPathUpdate { } @Override - public void serialize(VespaDocumentSerializerHead data) { + public void serialize(VespaDocumentSerializer6 data) { data.write(this); } diff --git a/document/src/main/java/com/yahoo/document/fieldpathupdate/AssignFieldPathUpdate.java b/document/src/main/java/com/yahoo/document/fieldpathupdate/AssignFieldPathUpdate.java index e31eefa2c00..b01742018a2 100644 --- a/document/src/main/java/com/yahoo/document/fieldpathupdate/AssignFieldPathUpdate.java +++ b/document/src/main/java/com/yahoo/document/fieldpathupdate/AssignFieldPathUpdate.java @@ -9,7 +9,7 @@ import com.yahoo.document.datatypes.FieldValue; import com.yahoo.document.datatypes.NumericFieldValue; import com.yahoo.document.select.parser.ParseException; import com.yahoo.document.serialization.DocumentUpdateReader; -import com.yahoo.document.serialization.VespaDocumentSerializerHead; +import com.yahoo.document.serialization.VespaDocumentSerializer6; import java.util.HashMap; import java.util.Map; @@ -237,7 +237,7 @@ public class AssignFieldPathUpdate extends FieldPathUpdate { } @Override - public void serialize(VespaDocumentSerializerHead data) { + public void serialize(VespaDocumentSerializer6 data) { data.write(this); } diff --git a/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java b/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java index 29c876b85fe..d4144116a03 100644 --- a/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java +++ b/document/src/main/java/com/yahoo/document/fieldpathupdate/FieldPathUpdate.java @@ -11,7 +11,7 @@ import com.yahoo.document.select.Result; import com.yahoo.document.select.ResultList; import com.yahoo.document.select.parser.ParseException; import com.yahoo.document.serialization.DocumentUpdateReader; -import com.yahoo.document.serialization.VespaDocumentSerializerHead; +import com.yahoo.document.serialization.VespaDocumentSerializer6; import java.util.ListIterator; /** @@ -130,7 +130,7 @@ public abstract class FieldPathUpdate { } } - public void serialize(VespaDocumentSerializerHead data) { + public void serialize(VespaDocumentSerializer6 data) { data.write(this); } diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java index a4de7a807e9..2d381c23916 100644 --- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java +++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java @@ -36,6 +36,9 @@ import com.yahoo.document.datatypes.Struct; import com.yahoo.document.datatypes.StructuredFieldValue; import com.yahoo.document.datatypes.TensorFieldValue; import com.yahoo.document.datatypes.WeightedSet; +import com.yahoo.document.fieldpathupdate.AddFieldPathUpdate; +import com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate; +import com.yahoo.document.fieldpathupdate.FieldPathUpdate; import com.yahoo.document.predicate.BinaryFormat; import com.yahoo.document.update.AddValueUpdate; import com.yahoo.document.update.ArithmeticValueUpdate; @@ -79,6 +82,7 @@ public class VespaDocumentSerializer6 extends BufferSerializer implements Docume write(new Field(doc.getDataType().getName(), 0, doc.getDataType(), true), doc); } + @SuppressWarnings("deprecation") public void write(FieldBase field, Document doc) { buf.putShort(Document.SERIALIZED_VERSION); @@ -680,12 +684,12 @@ public class VespaDocumentSerializer6 extends BufferSerializer implements Docume * @return The size in bytes. */ public static long getSerializedSize(Document doc) { - DocumentSerializer serializer = new VespaDocumentSerializerHead(new GrowableByteBuffer()); + DocumentSerializer serializer = new VespaDocumentSerializer6(new GrowableByteBuffer()); serializer.write(doc); return serializer.getBuf().position(); } - private static void writeValue(VespaDocumentSerializer42 serializer, DataType dataType, Object value) { + private static void writeValue(VespaDocumentSerializer6 serializer, DataType dataType, Object value) { FieldValue fieldValue; if (value instanceof FieldValue) { fieldValue = (FieldValue)value; diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializerHead.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializerHead.java index 92bce41ba8c..bfa746a02b1 100644 --- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializerHead.java +++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializerHead.java @@ -1,80 +1,17 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.document.serialization; -import com.yahoo.document.DocumentUpdate; -import com.yahoo.document.datatypes.ByteFieldValue; -import com.yahoo.document.fieldpathupdate.AddFieldPathUpdate; -import com.yahoo.document.fieldpathupdate.AssignFieldPathUpdate; -import com.yahoo.document.fieldpathupdate.FieldPathUpdate; -import com.yahoo.document.update.FieldUpdate; import com.yahoo.io.GrowableByteBuffer; -import com.yahoo.vespa.objects.FieldBase; /** * Class used for serializing documents on the current head document format. * * @author baldersheim */ -@SuppressWarnings("deprecation") -public class VespaDocumentSerializerHead extends VespaDocumentSerializer42 { +public class VespaDocumentSerializerHead extends VespaDocumentSerializer6 { public VespaDocumentSerializerHead(GrowableByteBuffer buf) { super(buf); } - @Override - public void write(DocumentUpdate update) { - update.getId().serialize(this); - - update.getDocumentType().serialize(this); - - putInt(null, update.fieldUpdates().size()); - - for (FieldUpdate up : update.fieldUpdates()) { - up.serialize(this); - } - - DocumentUpdateFlags flags = new DocumentUpdateFlags(); - flags.setCreateIfNonExistent(update.getCreateIfNonExistent()); - putInt(null, flags.injectInto(update.fieldPathUpdates().size())); - - for (FieldPathUpdate up : update.fieldPathUpdates()) { - up.serialize(this); - } - } - - public void write(FieldPathUpdate update) { - putByte(null, (byte)update.getUpdateType().getCode()); - put(null, update.getOriginalFieldPath()); - put(null, update.getOriginalWhereClause()); - } - - public void write(AssignFieldPathUpdate update) { - write((FieldPathUpdate)update); - byte flags = 0; - if (update.getRemoveIfZero()) { - flags |= AssignFieldPathUpdate.REMOVE_IF_ZERO; - } - if (update.getCreateMissingPath()) { - flags |= AssignFieldPathUpdate.CREATE_MISSING_PATH; - } - if (update.isArithmetic()) { - flags |= AssignFieldPathUpdate.ARITHMETIC_EXPRESSION; - putByte(null, flags); - put(null, update.getExpression()); - } else { - putByte(null, flags); - update.getFieldValue().serialize(this); - } - } - - public void write(AddFieldPathUpdate update) { - write((FieldPathUpdate)update); - update.getNewValues().serialize(this); - } - - @Override - public void write(FieldBase field, ByteFieldValue value) { - buf.put(value.getByte()); - } } |