aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/main/java/com/yahoo/document
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-11-20 14:31:11 +0000
committergjoranv <gv@oath.com>2019-01-21 15:09:28 +0100
commit9421feeb51b1907f35296ed4f649bcc2074a9dd7 (patch)
tree63dba8b6ccfcd64b059df8fbb1f199ae58c84005 /document/src/main/java/com/yahoo/document
parentcdc218a7eb16f0617c14be7b023933666f7b97a0 (diff)
wire in Deserializer6
Diffstat (limited to 'document/src/main/java/com/yahoo/document')
-rw-r--r--document/src/main/java/com/yahoo/document/DocumentTypeManager.java2
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/DocumentDeserializerFactory.java10
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializerHead.java34
3 files changed, 11 insertions, 35 deletions
diff --git a/document/src/main/java/com/yahoo/document/DocumentTypeManager.java b/document/src/main/java/com/yahoo/document/DocumentTypeManager.java
index 5fad35a2287..405587c2ec5 100644
--- a/document/src/main/java/com/yahoo/document/DocumentTypeManager.java
+++ b/document/src/main/java/com/yahoo/document/DocumentTypeManager.java
@@ -266,7 +266,7 @@ public class DocumentTypeManager {
}
final public Document createDocument(GrowableByteBuffer buf) {
- DocumentDeserializer data = DocumentDeserializerFactory.create42(this, buf);
+ DocumentDeserializer data = DocumentDeserializerFactory.create6(this, buf);
return new Document(data);
}
public Document createDocument(DocumentDeserializer data) {
diff --git a/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializerFactory.java b/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializerFactory.java
index 072f11f5f22..9cd11ad2499 100644
--- a/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializerFactory.java
+++ b/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializerFactory.java
@@ -13,13 +13,21 @@ public class DocumentDeserializerFactory {
/**
* Creates a de-serializer for the current head document format.
- * This format is an extension of the 4.2 format.
+ * This format is an extension of the 6.x format.
*/
public static DocumentDeserializer createHead(DocumentTypeManager manager, GrowableByteBuffer buf) {
return new VespaDocumentDeserializerHead(manager, buf);
}
/**
+ * Creates a de-serializer for the 6.x document format.
+ * This format is an extension of the 4.2 format.
+ */
+ public static DocumentDeserializer create6(DocumentTypeManager manager, GrowableByteBuffer buf) {
+ return new VespaDocumentDeserializer6(manager, buf);
+ }
+
+ /**
* Creates a de-serializer for the document format that was created on Vespa 4.2.
*/
@SuppressWarnings("deprecation")
diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializerHead.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializerHead.java
index 40aec94aec6..1e90395a153 100644
--- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializerHead.java
+++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializerHead.java
@@ -1,14 +1,8 @@
// 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.DocumentId;
import com.yahoo.document.DocumentTypeManager;
-import com.yahoo.document.DocumentUpdate;
-import com.yahoo.document.datatypes.BoolFieldValue;
-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 de-serializing documents on the current head document format.
@@ -16,36 +10,10 @@ import com.yahoo.vespa.objects.FieldBase;
* @author baldersheim
*/
@SuppressWarnings("deprecation")
-public class VespaDocumentDeserializerHead extends VespaDocumentDeserializer42 {
+public class VespaDocumentDeserializerHead extends VespaDocumentDeserializer6 {
public VespaDocumentDeserializerHead(DocumentTypeManager manager, GrowableByteBuffer buffer) {
super(manager, buffer);
}
- @Override
- public void read(DocumentUpdate update) {
- update.setId(new DocumentId(this));
- update.setDocumentType(readDocumentType());
-
- int size = getInt(null);
-
- for (int i = 0; i < size; i++) {
- update.addFieldUpdate(new FieldUpdate(this, update.getDocumentType(), 8));
- }
-
- int sizeAndFlags = getInt(null);
- update.setCreateIfNonExistent(DocumentUpdateFlags.extractFlags(sizeAndFlags).getCreateIfNonExistent());
- size = DocumentUpdateFlags.extractValue(sizeAndFlags);
-
- for (int i = 0; i < size; i++) {
- int type = getByte(null);
- update.addFieldPathUpdate(FieldPathUpdate.create(FieldPathUpdate.Type.valueOf(type),
- update.getDocumentType(), this));
- }
- }
-
- @Override
- public void read(FieldBase field, BoolFieldValue value) {
- value.setBoolean((getByte(null) != 0));
- }
}