From 9421feeb51b1907f35296ed4f649bcc2074a9dd7 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Tue, 20 Nov 2018 14:31:11 +0000 Subject: wire in Deserializer6 --- .../com/yahoo/document/DocumentTypeManager.java | 2 +- .../serialization/DocumentDeserializerFactory.java | 10 ++++++- .../VespaDocumentDeserializerHead.java | 34 +--------------------- .../java/com/yahoo/document/DocInDocTestCase.java | 2 +- .../document/DocumentSerializationTestCase.java | 4 +-- .../java/com/yahoo/document/DocumentTestCase.java | 4 +-- .../annotation/AlternateSpanListTestCase.java | 2 +- .../document/annotation/AnnotationTestCase.java | 2 +- .../document/annotation/Bug6394548TestCase.java | 2 +- .../document/annotation/Bug6425939TestCase.java | 2 +- .../document/annotation/SpanListTestCase.java | 2 +- .../yahoo/document/annotation/SpanTestCase.java | 2 +- .../document/annotation/SpanTreeTestCase.java | 2 +- .../yahoo/document/annotation/SystemTestCase.java | 2 +- .../com/yahoo/document/datatypes/MapTestCase.java | 2 +- .../yahoo/document/datatypes/StringTestCase.java | 10 +++---- .../serialization/SerializationTestUtils.java | 2 +- .../SerializeAnnotationsTestCase.java | 4 +-- .../yahoo/document/update/FieldUpdateTestCase.java | 2 +- .../document/update/SerializationTestCase.java | 4 +-- 20 files changed, 36 insertions(+), 60 deletions(-) (limited to 'document/src') 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,12 +13,20 @@ 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. */ 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)); - } } diff --git a/document/src/test/java/com/yahoo/document/DocInDocTestCase.java b/document/src/test/java/com/yahoo/document/DocInDocTestCase.java index cd9a15db2e3..f5c158595d2 100644 --- a/document/src/test/java/com/yahoo/document/DocInDocTestCase.java +++ b/document/src/test/java/com/yahoo/document/DocInDocTestCase.java @@ -43,7 +43,7 @@ public class DocInDocTestCase { GrowableByteBuffer buf = serializer.getBuf(); buf.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(manager, buf); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(manager, buf); Document outerDeserialized = new Document(deserializer); assertEquals(outer, outerDeserialized); diff --git a/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java b/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java index 4d813fed788..8ff168adc4b 100644 --- a/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java +++ b/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java @@ -170,7 +170,7 @@ public class DocumentSerializationTestCase extends AbstractTypesTest { } System.err.println("Checking doc from file " + test.testFile); - Document doc = new Document(DocumentDeserializerFactory.create42(docMan, GrowableByteBuffer.wrap(buffer))); + Document doc = new Document(DocumentDeserializerFactory.create6(docMan, GrowableByteBuffer.wrap(buffer))); System.err.println("Id: " + doc.getId()); @@ -222,7 +222,7 @@ public class DocumentSerializationTestCase extends AbstractTypesTest { fos.write(buffer.array(), 0, buffer.limit()); fos.close(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); Document doc2 = new Document(deserializer); assertEquals(doc, doc2); diff --git a/document/src/test/java/com/yahoo/document/DocumentTestCase.java b/document/src/test/java/com/yahoo/document/DocumentTestCase.java index 098bc59b5ae..76174ee60fd 100644 --- a/document/src/test/java/com/yahoo/document/DocumentTestCase.java +++ b/document/src/test/java/com/yahoo/document/DocumentTestCase.java @@ -1000,7 +1000,7 @@ public class DocumentTestCase extends DocumentTestCaseBase { BufferSerializer buf = new BufferSerializer(); try { - new Document(DocumentDeserializerFactory.create42(docMan, buf.getBuf())); + new Document(DocumentDeserializerFactory.create6(docMan, buf.getBuf())); assertTrue(false); } catch (Exception e) { assertTrue(true); @@ -1008,7 +1008,7 @@ public class DocumentTestCase extends DocumentTestCaseBase { buf = BufferSerializer.wrap("Hello world".getBytes()); try { - new Document(DocumentDeserializerFactory.create42(docMan, buf.getBuf())); + new Document(DocumentDeserializerFactory.create6(docMan, buf.getBuf())); assertTrue(false); } catch (Exception e) { assertTrue(true); diff --git a/document/src/test/java/com/yahoo/document/annotation/AlternateSpanListTestCase.java b/document/src/test/java/com/yahoo/document/annotation/AlternateSpanListTestCase.java index e491d271d96..186766f799b 100755 --- a/document/src/test/java/com/yahoo/document/annotation/AlternateSpanListTestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/AlternateSpanListTestCase.java @@ -66,7 +66,7 @@ public class AlternateSpanListTestCase extends AbstractTypesTest { } AlternateSpanList alternateSpanList2; { - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); StringFieldValue value = new StringFieldValue(); deserializer.read(null, value); alternateSpanList2 = (AlternateSpanList)value.getSpanTree("bababa").getRoot(); diff --git a/document/src/test/java/com/yahoo/document/annotation/AnnotationTestCase.java b/document/src/test/java/com/yahoo/document/annotation/AnnotationTestCase.java index a21bd44e03f..cb04ca1de62 100644 --- a/document/src/test/java/com/yahoo/document/annotation/AnnotationTestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/AnnotationTestCase.java @@ -119,7 +119,7 @@ public class AnnotationTestCase extends AbstractTypesTest { serializer.write(annotation); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); Annotation annotation2 = new Annotation(); deserializer.read(annotation2); diff --git a/document/src/test/java/com/yahoo/document/annotation/Bug6394548TestCase.java b/document/src/test/java/com/yahoo/document/annotation/Bug6394548TestCase.java index 131a6255b66..8b9649d697f 100644 --- a/document/src/test/java/com/yahoo/document/annotation/Bug6394548TestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/Bug6394548TestCase.java @@ -47,7 +47,7 @@ public class Bug6394548TestCase { serializer.write(doc); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(manager, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(manager, buffer); Document doc2 = new Document(deserializer); System.out.println(doc2.toXml()); diff --git a/document/src/test/java/com/yahoo/document/annotation/Bug6425939TestCase.java b/document/src/test/java/com/yahoo/document/annotation/Bug6425939TestCase.java index 24525b84fb7..82b730ae4ca 100644 --- a/document/src/test/java/com/yahoo/document/annotation/Bug6425939TestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/Bug6425939TestCase.java @@ -43,7 +43,7 @@ public class Bug6425939TestCase { buffer.flip(); // Should not throw exception if bug 6425939 is fixed: - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); StringFieldValue deserializedString = new StringFieldValue(); deserializer.read(strField, deserializedString); diff --git a/document/src/test/java/com/yahoo/document/annotation/SpanListTestCase.java b/document/src/test/java/com/yahoo/document/annotation/SpanListTestCase.java index b8994140522..6f338fc47a3 100755 --- a/document/src/test/java/com/yahoo/document/annotation/SpanListTestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/SpanListTestCase.java @@ -55,7 +55,7 @@ public class SpanListTestCase extends AbstractTypesTest { } SpanList spanList2; { - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); StringFieldValue value = new StringFieldValue(); deserializer.read(null, value); spanList2 = (SpanList)value.getSpanTree("bababa").getRoot(); diff --git a/document/src/test/java/com/yahoo/document/annotation/SpanTestCase.java b/document/src/test/java/com/yahoo/document/annotation/SpanTestCase.java index 88604768a42..23d62cae239 100755 --- a/document/src/test/java/com/yahoo/document/annotation/SpanTestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/SpanTestCase.java @@ -88,7 +88,7 @@ public class SpanTestCase extends AbstractTypesTest { } Span span2; { - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); StringFieldValue value = new StringFieldValue(); deserializer.read(null, value); span2 = (Span)value.getSpanTree("bababa").getRoot(); diff --git a/document/src/test/java/com/yahoo/document/annotation/SpanTreeTestCase.java b/document/src/test/java/com/yahoo/document/annotation/SpanTreeTestCase.java index 380f157c680..b200e72514d 100755 --- a/document/src/test/java/com/yahoo/document/annotation/SpanTreeTestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/SpanTreeTestCase.java @@ -870,7 +870,7 @@ public class SpanTreeTestCase extends AbstractTypesTest { serializer.write(new Field("stringfield", DataType.STRING), strfval); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(docMan, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(docMan, buffer); StringFieldValue stringFieldValue2 = new StringFieldValue(); deserializer.read(new Field("stringfield", DataType.STRING), stringFieldValue2); diff --git a/document/src/test/java/com/yahoo/document/annotation/SystemTestCase.java b/document/src/test/java/com/yahoo/document/annotation/SystemTestCase.java index a122df16018..9163b773bcf 100755 --- a/document/src/test/java/com/yahoo/document/annotation/SystemTestCase.java +++ b/document/src/test/java/com/yahoo/document/annotation/SystemTestCase.java @@ -127,7 +127,7 @@ public class SystemTestCase { DocumentSerializer serializer = DocumentSerializerFactory.create6(buffer); serializer.write(inDocument); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(manager, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(manager, buffer); Document outDocument = new Document(deserializer); consume(outDocument); diff --git a/document/src/test/java/com/yahoo/document/datatypes/MapTestCase.java b/document/src/test/java/com/yahoo/document/datatypes/MapTestCase.java index 01f917e163c..eb47fb1425d 100644 --- a/document/src/test/java/com/yahoo/document/datatypes/MapTestCase.java +++ b/document/src/test/java/com/yahoo/document/datatypes/MapTestCase.java @@ -147,7 +147,7 @@ public class MapTestCase { DocumentSerializer serializer = DocumentSerializerFactory.create6(buffer); serializer.write(f, map); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); MapFieldValue map2 = new MapFieldValue(mapType); deserializer.read(f, map2); assertNotSame(map, map2); diff --git a/document/src/test/java/com/yahoo/document/datatypes/StringTestCase.java b/document/src/test/java/com/yahoo/document/datatypes/StringTestCase.java index 3b46a5518d9..296ab1ac3fc 100644 --- a/document/src/test/java/com/yahoo/document/datatypes/StringTestCase.java +++ b/document/src/test/java/com/yahoo/document/datatypes/StringTestCase.java @@ -50,7 +50,7 @@ public class StringTestCase extends AbstractTypesTest { data.position(0); StringFieldValue tmp = new StringFieldValue(); - DocumentDeserializer deser = DocumentDeserializerFactory.create42(null, data); + DocumentDeserializer deser = DocumentDeserializerFactory.create6(null, data); tmp.deserialize(deser); java.lang.String foo2 = tmp.getString(); @@ -111,7 +111,7 @@ public class StringTestCase extends AbstractTypesTest { tmp = new StringFieldValue(); - deser = DocumentDeserializerFactory.create42(null, data); + deser = DocumentDeserializerFactory.create6(null, data); tmp.deserialize(deser); java.lang.String blah2 = tmp.getString(); @@ -129,7 +129,7 @@ public class StringTestCase extends AbstractTypesTest { data.getBuf().position(0); StringFieldValue tmp = new StringFieldValue(); - DocumentDeserializer deser = DocumentDeserializerFactory.create42(null, data.getBuf()); + DocumentDeserializer deser = DocumentDeserializerFactory.create6(null, data.getBuf()); tmp.deserialize(deser); java.lang.String test2 = tmp.getString(); assertEquals(test, test2); @@ -150,7 +150,7 @@ public class StringTestCase extends AbstractTypesTest { serializer.write(f, stringFieldValue); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(man, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(man, buffer); StringFieldValue stringFieldValue2 = new StringFieldValue(); deserializer.read(f, stringFieldValue2); @@ -220,7 +220,7 @@ public class StringTestCase extends AbstractTypesTest { serializer.write(doc); buffer.flip(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(manager, buffer); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(manager, buffer); return new Document(deserializer); } diff --git a/document/src/test/java/com/yahoo/document/serialization/SerializationTestUtils.java b/document/src/test/java/com/yahoo/document/serialization/SerializationTestUtils.java index debd565d7e7..25021b0d2f8 100644 --- a/document/src/test/java/com/yahoo/document/serialization/SerializationTestUtils.java +++ b/document/src/test/java/com/yahoo/document/serialization/SerializationTestUtils.java @@ -33,7 +33,7 @@ public class SerializationTestUtils { public static Document deserializeDocument(byte[] buf, TestDocumentFactory factory) { Document document = factory.createDocument(); - DocumentDeserializerFactory.create42(factory.typeManager(), new GrowableByteBuffer(ByteBuffer.wrap(buf))).read(document); + DocumentDeserializerFactory.create6(factory.typeManager(), new GrowableByteBuffer(ByteBuffer.wrap(buf))).read(document); return document; } diff --git a/document/src/test/java/com/yahoo/document/serialization/SerializeAnnotationsTestCase.java b/document/src/test/java/com/yahoo/document/serialization/SerializeAnnotationsTestCase.java index 30db0af6607..653f121b2d4 100644 --- a/document/src/test/java/com/yahoo/document/serialization/SerializeAnnotationsTestCase.java +++ b/document/src/test/java/com/yahoo/document/serialization/SerializeAnnotationsTestCase.java @@ -79,7 +79,7 @@ public class SerializeAnnotationsTestCase { assertEquals(serialized.limit(), serializedFromFile.limit()); StringFieldValue valueFromFile = new StringFieldValue(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(docMan, new GrowableByteBuffer(serializedFromFile)); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(docMan, new GrowableByteBuffer(serializedFromFile)); deserializer.read(null, valueFromFile); assertEquals(value, valueFromFile); } @@ -182,7 +182,7 @@ public class SerializeAnnotationsTestCase { assertEquals(serialized.limit(), serializedFromFile.limit()); StringFieldValue valueFromFile = new StringFieldValue(); - DocumentDeserializer deserializer = DocumentDeserializerFactory.create42(docMan, new GrowableByteBuffer(serializedFromFile)); + DocumentDeserializer deserializer = DocumentDeserializerFactory.create6(docMan, new GrowableByteBuffer(serializedFromFile)); deserializer.read(null, valueFromFile); assertEquals(value, valueFromFile); } diff --git a/document/src/test/java/com/yahoo/document/update/FieldUpdateTestCase.java b/document/src/test/java/com/yahoo/document/update/FieldUpdateTestCase.java index ea497cd6340..11e0cc783af 100644 --- a/document/src/test/java/com/yahoo/document/update/FieldUpdateTestCase.java +++ b/document/src/test/java/com/yahoo/document/update/FieldUpdateTestCase.java @@ -189,7 +189,7 @@ public class FieldUpdateTestCase { DocumentSerializer buffer = DocumentSerializerFactory.create6(); source.serialize(buffer); buffer.getBuf().flip(); - FieldUpdate copy = new FieldUpdate(DocumentDeserializerFactory.create42(docman, buffer.getBuf()), docType, Document.SERIALIZED_VERSION); + FieldUpdate copy = new FieldUpdate(DocumentDeserializerFactory.create6(docman, buffer.getBuf()), docType, Document.SERIALIZED_VERSION); assertEquals(source, copy); return copy; } diff --git a/document/src/test/java/com/yahoo/document/update/SerializationTestCase.java b/document/src/test/java/com/yahoo/document/update/SerializationTestCase.java index 9be3c12bee0..05492d41b09 100644 --- a/document/src/test/java/com/yahoo/document/update/SerializationTestCase.java +++ b/document/src/test/java/com/yahoo/document/update/SerializationTestCase.java @@ -41,7 +41,7 @@ public class SerializationTestCase { fos.close(); } catch (Exception e) {} - FieldUpdate deserializedUpdate = new FieldUpdate(DocumentDeserializerFactory.create42(new DocumentTypeManager(), buffer.getBuf()), documentType, Document.SERIALIZED_VERSION); + FieldUpdate deserializedUpdate = new FieldUpdate(DocumentDeserializerFactory.create6(new DocumentTypeManager(), buffer.getBuf()), documentType, Document.SERIALIZED_VERSION); assertEquals("'field1' [add value1 1]", deserializedUpdate.toString()); } @@ -52,7 +52,7 @@ public class SerializationTestCase { update.serialize(buffer); buffer.getBuf().rewind(); - FieldUpdate deserializedUpdate = new FieldUpdate(DocumentDeserializerFactory.create42(new DocumentTypeManager(), buffer.getBuf()), documentType, Document.SERIALIZED_VERSION); + FieldUpdate deserializedUpdate = new FieldUpdate(DocumentDeserializerFactory.create6(new DocumentTypeManager(), buffer.getBuf()), documentType, Document.SERIALIZED_VERSION); assertEquals("'field1' [clear]", deserializedUpdate.toString()); } -- cgit v1.2.3