aboutsummaryrefslogtreecommitdiffstats
path: root/document/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-01-10 13:38:22 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2019-01-10 13:38:22 +0100
commit2e8e8f37a6fcc7ca194310a05ff079c3ad61127f (patch)
tree5111c810002a69efb6e5f4dfc6a59a5723fab32a /document/src
parentc194ae3b6f72538b0709dd4a51cb08306c33e836 (diff)
Add serialization for bool fields.
Diffstat (limited to 'document/src')
-rw-r--r--document/src/main/java/com/yahoo/document/datatypes/BoolFieldValue.java1
-rw-r--r--document/src/main/java/com/yahoo/document/json/DocumentUpdateJsonSerializer.java6
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java10
-rw-r--r--document/src/main/java/com/yahoo/document/json/JsonWriter.java6
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/FieldReader.java27
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/FieldWriter.java11
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer42.java6
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer42.java15
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/XmlDocumentWriter.java6
-rw-r--r--document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLFieldReader.java13
-rw-r--r--document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java11
-rw-r--r--document/src/test/java/com/yahoo/document/DocumentTestCase.java11
-rw-r--r--document/src/tests/data/crossplatform-java-cpp-document.cfg5
-rw-r--r--document/src/tests/data/serializejava-compressed.datbin377 -> 384 bytes
-rw-r--r--document/src/tests/data/serializejava.datbin398 -> 405 bytes
15 files changed, 112 insertions, 16 deletions
diff --git a/document/src/main/java/com/yahoo/document/datatypes/BoolFieldValue.java b/document/src/main/java/com/yahoo/document/datatypes/BoolFieldValue.java
index 2a48b550658..189c275809a 100644
--- a/document/src/main/java/com/yahoo/document/datatypes/BoolFieldValue.java
+++ b/document/src/main/java/com/yahoo/document/datatypes/BoolFieldValue.java
@@ -60,6 +60,7 @@ public class BoolFieldValue extends FieldValue {
public boolean getBoolean() {
return value;
}
+ public void setBoolean(boolean value) { this.value = value; }
@Override
public Object getWrappedValue() {
diff --git a/document/src/main/java/com/yahoo/document/json/DocumentUpdateJsonSerializer.java b/document/src/main/java/com/yahoo/document/json/DocumentUpdateJsonSerializer.java
index 6adae27cadc..e4ca20a8e32 100644
--- a/document/src/main/java/com/yahoo/document/json/DocumentUpdateJsonSerializer.java
+++ b/document/src/main/java/com/yahoo/document/json/DocumentUpdateJsonSerializer.java
@@ -9,6 +9,7 @@ import com.yahoo.document.DocumentUpdate;
import com.yahoo.document.FieldPath;
import com.yahoo.document.annotation.AnnotationReference;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -285,6 +286,11 @@ public class DocumentUpdateJsonSerializer
}
@Override
+ public void write(FieldBase field, BoolFieldValue value) {
+ serializeBoolField(generator, field, value);
+ }
+
+ @Override
public <T extends FieldValue> void write(FieldBase field, CollectionFieldValue<T> value) {
serializeCollectionField(this, generator, field, value);
}
diff --git a/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java b/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java
index afe14cf1e6a..55e7dc3c1b3 100644
--- a/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java
+++ b/document/src/main/java/com/yahoo/document/json/JsonSerializationHelper.java
@@ -8,6 +8,7 @@ import com.yahoo.document.Field;
import com.yahoo.document.PositionDataType;
import com.yahoo.document.PrimitiveDataType;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -234,6 +235,10 @@ public class JsonSerializationHelper {
serializeByte(generator, field, value.getByte());
}
+ public static void serializeBoolField(JsonGenerator generator, FieldBase field, BoolFieldValue value) {
+ serializeBool(generator, field, value.getBoolean());
+ }
+
public static void serializePredicateField(JsonGenerator generator, FieldBase field, PredicateFieldValue value){
serializeString(generator, field, value.toString());
}
@@ -252,6 +257,11 @@ public class JsonSerializationHelper {
wrapIOException(() -> generator.writeNumber(value));
}
+ public static void serializeBool(JsonGenerator generator, FieldBase field, boolean value) {
+ fieldNameIfNotNull(generator, field);
+ wrapIOException(() -> generator.writeBoolean(value));
+ }
+
public static void serializeShort(JsonGenerator generator, FieldBase field, short value) {
fieldNameIfNotNull(generator, field);
wrapIOException(() -> generator.writeNumber(value));
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 ecec34c5d3f..ab0884a54a3 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.DocumentType;
import com.yahoo.document.Field;
import com.yahoo.document.annotation.AnnotationReference;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -140,6 +141,11 @@ public class JsonWriter implements DocumentWriter {
}
@Override
+ public void write(FieldBase field, BoolFieldValue value) {
+ serializeBoolField(generator, field, value);
+ }
+
+ @Override
public <T extends FieldValue> void write(FieldBase field, CollectionFieldValue<T> value) {
serializeCollectionField(this, generator, field, value);
}
diff --git a/document/src/main/java/com/yahoo/document/serialization/FieldReader.java b/document/src/main/java/com/yahoo/document/serialization/FieldReader.java
index 11fc0c314af..0b1500ed6ba 100644
--- a/document/src/main/java/com/yahoo/document/serialization/FieldReader.java
+++ b/document/src/main/java/com/yahoo/document/serialization/FieldReader.java
@@ -6,7 +6,24 @@ package com.yahoo.document.serialization;
import com.yahoo.document.Document;
import com.yahoo.document.annotation.AnnotationReference;
-import com.yahoo.document.datatypes.*;
+import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
+import com.yahoo.document.datatypes.ByteFieldValue;
+import com.yahoo.document.datatypes.CollectionFieldValue;
+import com.yahoo.document.datatypes.DoubleFieldValue;
+import com.yahoo.document.datatypes.FieldValue;
+import com.yahoo.document.datatypes.FloatFieldValue;
+import com.yahoo.document.datatypes.IntegerFieldValue;
+import com.yahoo.document.datatypes.LongFieldValue;
+import com.yahoo.document.datatypes.MapFieldValue;
+import com.yahoo.document.datatypes.PredicateFieldValue;
+import com.yahoo.document.datatypes.Raw;
+import com.yahoo.document.datatypes.ReferenceFieldValue;
+import com.yahoo.document.datatypes.StringFieldValue;
+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.vespa.objects.Deserializer;
import com.yahoo.vespa.objects.FieldBase;
@@ -54,6 +71,14 @@ public interface FieldReader extends Deserializer {
void read(FieldBase field, ByteFieldValue value);
/**
+ * Read in the value of byte field
+ *
+ * @param field - field description (name and data type)
+ * @param value - field value
+ */
+ void read(FieldBase field, BoolFieldValue value);
+
+ /**
* Read in the value of collection field
*
* @param field - field description (name and data type)
diff --git a/document/src/main/java/com/yahoo/document/serialization/FieldWriter.java b/document/src/main/java/com/yahoo/document/serialization/FieldWriter.java
index 243d25c3950..63a6d997b04 100644
--- a/document/src/main/java/com/yahoo/document/serialization/FieldWriter.java
+++ b/document/src/main/java/com/yahoo/document/serialization/FieldWriter.java
@@ -4,6 +4,7 @@ package com.yahoo.document.serialization;
import com.yahoo.document.Document;
import com.yahoo.document.annotation.AnnotationReference;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -78,6 +79,16 @@ public interface FieldWriter extends Serializer {
void write(FieldBase field, ByteFieldValue value);
/**
+ * Write out the value of byte field
+ *
+ * @param field
+ * field description (name and data type)
+ * @param value
+ * field value
+ */
+ void write(FieldBase field, BoolFieldValue value);
+
+ /**
* Write out the value of collection field
*
* @param field
diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer42.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer42.java
index 6ec7a1e2b21..7ff5729ca39 100644
--- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer42.java
+++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer42.java
@@ -27,6 +27,7 @@ import com.yahoo.document.annotation.SpanNode;
import com.yahoo.document.annotation.SpanNodeParent;
import com.yahoo.document.annotation.SpanTree;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -111,6 +112,7 @@ public class VespaDocumentDeserializer42 extends VespaDocumentSerializer42 imple
public void read(Document document) {
read(null, document);
}
+
public void read(FieldBase field, Document doc) {
// Verify that we have correct version
@@ -219,6 +221,10 @@ public class VespaDocumentDeserializer42 extends VespaDocumentSerializer42 imple
public <T extends FieldValue> void read(FieldBase field, CollectionFieldValue<T> value) {
throw new IllegalArgumentException("read not implemented yet.");
}
+ @Override
+ public void read(FieldBase field, BoolFieldValue value) {
+ value.setBoolean((getByte(null) != 0));
+ }
public void read(FieldBase field, ByteFieldValue value) { value.assign(getByte(null)); }
public void read(FieldBase field, DoubleFieldValue value) { value.assign(getDouble(null)); }
public void read(FieldBase field, FloatFieldValue value) { value.assign(getFloat(null)); }
diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer42.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer42.java
index 6a07e04a621..581c7df8aee 100644
--- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer42.java
+++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer42.java
@@ -20,6 +20,7 @@ import com.yahoo.document.annotation.SpanList;
import com.yahoo.document.annotation.SpanNode;
import com.yahoo.document.annotation.SpanTree;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -57,7 +58,6 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.logging.Logger;
import static com.yahoo.text.Utf8.calculateBytePositions;
@@ -168,16 +168,17 @@ public class VespaDocumentSerializer42 extends BufferSerializer implements Docum
}
}
- /**
- * Write out the value of byte field
- *
- * @param field - field description (name and data type)
- * @param value - field value
- */
+ @Override
public void write(FieldBase field, ByteFieldValue value) {
buf.put(value.getByte());
}
+ @Override
+ public void write(FieldBase field, BoolFieldValue value) {
+ byte v = value.getBoolean() ? (byte)1 : (byte)0;
+ buf.put(v);
+ }
+
/**
* Write out the value of collection field
*
diff --git a/document/src/main/java/com/yahoo/document/serialization/XmlDocumentWriter.java b/document/src/main/java/com/yahoo/document/serialization/XmlDocumentWriter.java
index 768ec879ce1..0d6b0cae926 100644
--- a/document/src/main/java/com/yahoo/document/serialization/XmlDocumentWriter.java
+++ b/document/src/main/java/com/yahoo/document/serialization/XmlDocumentWriter.java
@@ -7,6 +7,7 @@ import com.yahoo.document.DocumentType;
import com.yahoo.document.Field;
import com.yahoo.document.annotation.AnnotationReference;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.CollectionFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
@@ -137,6 +138,11 @@ public final class XmlDocumentWriter implements DocumentWriter {
}
@Override
+ public void write(FieldBase field, BoolFieldValue value) {
+ singleValueTag(field, value);
+ }
+
+ @Override
public <T extends FieldValue> void write(FieldBase field,
CollectionFieldValue<T> value) {
buffer.beginTag(field.getName());
diff --git a/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLFieldReader.java b/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLFieldReader.java
index 8aa34ae9bba..737371f2375 100644
--- a/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLFieldReader.java
+++ b/document/src/main/java/com/yahoo/vespaxmlparser/VespaXMLFieldReader.java
@@ -298,6 +298,19 @@ public class VespaXMLFieldReader extends VespaXMLReader implements FieldReader {
}
}
+ public void read(FieldBase field, BoolFieldValue value) {
+ try {
+ String dataParsed = reader.getElementText();
+ try {
+ value.assign(dataParsed);
+ } catch (Exception e) {
+ throw newDeserializeException(field, e.getMessage());
+ }
+ } catch (XMLStreamException e) {
+ throw newException(field, e);
+ }
+ }
+
public void read(FieldBase field, DoubleFieldValue value) {
try {
String dataParsed = reader.getElementText();
diff --git a/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java b/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java
index e45da62353d..7d1992225e4 100644
--- a/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java
+++ b/document/src/test/java/com/yahoo/document/DocumentSerializationTestCase.java
@@ -4,6 +4,7 @@ package com.yahoo.document;
import com.yahoo.compress.CompressionType;
import com.yahoo.document.annotation.AbstractTypesTest;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
import com.yahoo.document.datatypes.FloatFieldValue;
@@ -72,6 +73,7 @@ public class DocumentSerializationTestCase extends AbstractTypesTest {
docType.addField(new Field("rawfield", DataType.RAW, false));
docType.addField(new Field("doublefield", DataType.DOUBLE, false));
docType.addField(new Field("bytefield", DataType.BYTE, false));
+ docType.addField(new Field("boolfield", DataType.BOOL, false));
DataType arrayOfFloatDataType = new ArrayDataType(DataType.FLOAT);
docType.addField(new Field("arrayoffloatfield", arrayOfFloatDataType, false));
DataType arrayOfArrayOfFloatDataType = new ArrayDataType(arrayOfFloatDataType);
@@ -94,6 +96,7 @@ public class DocumentSerializationTestCase extends AbstractTypesTest {
doc.setFieldValue("longfield", new LongFieldValue(398420092938472983l));
doc.setFieldValue("doublefield", new DoubleFieldValue(98374532.398820));
doc.setFieldValue("bytefield", new ByteFieldValue(254));
+ doc.setFieldValue("boolfield", new BoolFieldValue(true));
byte[] rawData = "RAW DATA".getBytes();
assertEquals(8, rawData.length);
doc.setFieldValue(docType.getField("rawfield"),new Raw(ByteBuffer.wrap("RAW DATA".getBytes())));
@@ -176,12 +179,12 @@ public class DocumentSerializationTestCase extends AbstractTypesTest {
assertEquals(new StringFieldValue("This is a string."), doc.getFieldValue("stringfield"));
assertEquals(new LongFieldValue(398420092938472983l), doc.getFieldValue("longfield"));
assertEquals(98374532.398820, ((DoubleFieldValue)doc.getFieldValue("doublefield")).getDouble(), 1E-6);
- assertEquals(new ByteFieldValue((byte)254),
- doc.getFieldValue("bytefield"));
+ assertEquals(new ByteFieldValue((byte)254), doc.getFieldValue("bytefield"));
+ // Todo add cpp serialization
+ // assertEquals(new BoolFieldValue(true), doc.getFieldValue("boolfield"));
ByteBuffer bbuffer = ((Raw)doc.getFieldValue("rawfield")).getByteBuffer();
if (!Arrays.equals("RAW DATA".getBytes(), bbuffer.array())) {
- System.err.println("Expected 'RAW DATA' but got '"
- + new String(bbuffer.array()) + "'.");
+ System.err.println("Expected 'RAW DATA' but got '" + new String(bbuffer.array()) + "'.");
assertTrue(false);
}
if (test.version > 6) {
diff --git a/document/src/test/java/com/yahoo/document/DocumentTestCase.java b/document/src/test/java/com/yahoo/document/DocumentTestCase.java
index 6a2147d6f15..3eebc4396e8 100644
--- a/document/src/test/java/com/yahoo/document/DocumentTestCase.java
+++ b/document/src/test/java/com/yahoo/document/DocumentTestCase.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.compress.CompressionType;
import com.yahoo.document.datatypes.Array;
+import com.yahoo.document.datatypes.BoolFieldValue;
import com.yahoo.document.datatypes.ByteFieldValue;
import com.yahoo.document.datatypes.DoubleFieldValue;
import com.yahoo.document.datatypes.FieldPathIteratorHandler;
@@ -89,6 +90,7 @@ public class DocumentTestCase extends DocumentTestCaseBase {
" </item>\n" +
" </mapfield>\n" +
SERTEST_DOC_AS_XML_SUNNYVALE +
+ " <myboolfield>true</myboolfield>\n" +
"</document>\n";
static DocumentTypeManager setUpCppDocType() {
@@ -124,6 +126,7 @@ public class DocumentTestCase extends DocumentTestCaseBase {
sertestDocType.addField(new Field("docindoc", 882, docInDocType, false));
sertestDocType.addField(new Field("mapfield", 883, new MapDataType(DataType.STRING, DataType.STRING), false));
sertestDocType.addField(new Field("myposfield", 884, PositionDataType.INSTANCE, false));
+ sertestDocType.addField(new Field("myboolfield", 885, DataType.BOOL, false));
docMan.registerDocumentType(sertestDocType);
}
@@ -165,6 +168,7 @@ public class DocumentTestCase extends DocumentTestCaseBase {
map.put(new StringFieldValue("foo1"), new StringFieldValue("bar1"));
map.put(new StringFieldValue("foo2"), new StringFieldValue("bar2"));
doc.setFieldValue("mapfield", map);
+ doc.setFieldValue("myboolfield", new BoolFieldValue(true));
return doc;
}
@@ -776,12 +780,12 @@ public class DocumentTestCase extends DocumentTestCaseBase {
doc.setFieldValue("wsfield", wset);
MapFieldValue<StringFieldValue, StringFieldValue> map =
- new MapFieldValue<>(
- (MapDataType)doc.getDataType().getField("mapfield").getDataType());
+ new MapFieldValue<>((MapDataType)doc.getDataType().getField("mapfield").getDataType());
map.put(new StringFieldValue("foo1"), new StringFieldValue("bar1"));
map.put(new StringFieldValue("foo2"), new StringFieldValue("bar2"));
doc.setFieldValue("mapfield", map);
+ doc.setFieldValue("boolfield", new BoolFieldValue(true));
doc.setFieldValue("bytefield", new ByteFieldValue((byte)254));
doc.setFieldValue("rawfield", new Raw(ByteBuffer.wrap("RAW DATA".getBytes())));
doc.setFieldValue("intfield", new IntegerFieldValue(5));
@@ -841,6 +845,7 @@ public class DocumentTestCase extends DocumentTestCaseBase {
Document doc2 = docMan.createDocument(data);
+ assertEquals(doc.getFieldValue("myboolfield"), doc2.getFieldValue("myboolfield"));
assertEquals(doc.getFieldValue("mailid"), doc2.getFieldValue("mailid"));
assertEquals(doc.getFieldValue("date"), doc2.getFieldValue("date"));
assertEquals(doc.getFieldValue("from"), doc2.getFieldValue("from"));
@@ -1229,7 +1234,7 @@ public class DocumentTestCase extends DocumentTestCaseBase {
assertEquals(fields.get("date"), -2013512400);
assertThat(fields.get("docindoc"), instanceOf(Map.class));
assertThat(fields.keySet(),
- containsInAnyOrder("mailid", "date", "attachmentcount", "rawfield", "weightedfield", "docindoc", "mapfield"));
+ containsInAnyOrder("mailid", "date", "attachmentcount", "rawfield", "weightedfield", "docindoc", "mapfield", "myboolfield"));
}
}
diff --git a/document/src/tests/data/crossplatform-java-cpp-document.cfg b/document/src/tests/data/crossplatform-java-cpp-document.cfg
index f12dae77fc0..134d31b1831 100644
--- a/document/src/tests/data/crossplatform-java-cpp-document.cfg
+++ b/document/src/tests/data/crossplatform-java-cpp-document.cfg
@@ -83,7 +83,7 @@ datatype[8].weightedsettype[0]
datatype[8].structtype[1]
datatype[8].structtype[0].name serializetest.body
datatype[8].structtype[0].version 0
-datatype[8].structtype[0].field[10]
+datatype[8].structtype[0].field[11]
datatype[8].structtype[0].field[0].name intfield
datatype[8].structtype[0].field[0].id[0]
datatype[8].structtype[0].field[0].datatype 0
@@ -114,6 +114,9 @@ datatype[8].structtype[0].field[8].datatype 437829
datatype[8].structtype[0].field[9].name mapfield
datatype[8].structtype[0].field[9].id[0]
datatype[8].structtype[0].field[9].datatype 9999
+datatype[8].structtype[0].field[10].name boolfield
+datatype[8].structtype[0].field[10].id[0]
+datatype[8].structtype[0].field[10].datatype 6
datatype[8].documenttype[0]
datatype[9].id 1306012852
datatype[9].arraytype[0]
diff --git a/document/src/tests/data/serializejava-compressed.dat b/document/src/tests/data/serializejava-compressed.dat
index 453abef81f1..0f6cb55ff85 100644
--- a/document/src/tests/data/serializejava-compressed.dat
+++ b/document/src/tests/data/serializejava-compressed.dat
Binary files differ
diff --git a/document/src/tests/data/serializejava.dat b/document/src/tests/data/serializejava.dat
index 3dd9f8fcd52..53ef6a8fbc2 100644
--- a/document/src/tests/data/serializejava.dat
+++ b/document/src/tests/data/serializejava.dat
Binary files differ