aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-06-16 07:40:42 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-06-16 09:46:17 +0000
commitfcf38c0586e6166ed819a078355502bda4656d01 (patch)
treeba0fca554bccae26a0bdece24e715cc223c02c6a /config-model/src
parentc0d8eff2873a2a352b368fe0e616caf812673a33 (diff)
- Removing body struct from our own usage.
- Deprecate public methods using body struct. - Update expected generated config.
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java30
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/document/SDDocumentType.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java3
-rw-r--r--config-model/src/main/javacc/SDParser.jj3
-rw-r--r--config-model/src/test/configmodel/types/documentmanager.cfg75
-rw-r--r--config-model/src/test/configmodel/types/documenttypes.cfg17
-rw-r--r--config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg34
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg109
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg9
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg79
-rw-r--r--config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg60
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg53
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg17
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg51
-rw-r--r--config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg34
-rw-r--r--config-model/src/test/derived/advanced/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationsinheritance/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationsreference/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationssimple/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationsstruct/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/annotationsstructarray/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/arrays/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/attributeprefetch/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/complex/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/emptydefault/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/id/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/indexswitches/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/inheritance/documentmanager.cfg36
-rw-r--r--config-model/src/test/derived/inheritdiamond/documentmanager.cfg72
-rw-r--r--config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg27
-rw-r--r--config-model/src/test/derived/inheritfromparent/documentmanager.cfg18
-rw-r--r--config-model/src/test/derived/inheritfromparent/documenttypes.cfg34
-rw-r--r--config-model/src/test/derived/mail/documentmanager.cfg13
-rw-r--r--config-model/src/test/derived/prefixexactattribute/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/ranktypes/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/streamingstruct/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/structanyorder/documentmanager.cfg9
-rw-r--r--config-model/src/test/derived/tensor/documenttypes.cfg17
-rw-r--r--config-model/src/test/derived/twostreamingstructs/documentmanager.cfg18
-rw-r--r--config-model/src/test/derived/types/documentmanager.cfg15
-rw-r--r--config-model/src/test/examples/fieldoftypedocument.cfg82
-rwxr-xr-xconfig-model/src/test/examples/structresult.cfg27
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/InheritanceTestCase.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/DocumentTypeChangeValidatorTest.java1
49 files changed, 242 insertions, 877 deletions
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java b/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java
index 41a30c4553d..df9f72b2182 100644
--- a/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java
+++ b/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java
@@ -66,7 +66,6 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
private final Map<Integer, NewDocumentType> inherits = new LinkedHashMap<>();
private final AnnotationTypeRegistry annotations = new AnnotationTypeRegistry();
private final StructDataType header;
- private final StructDataType body;
private final Set<FieldSet> fieldSets = new LinkedHashSet<>();
private final Set<Name> documentReferences;
// Imported fields are virtual and therefore exist outside of the SD's document field definition
@@ -84,7 +83,6 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
this(
name,
new StructDataType(name.getName() + ".header"),
- new StructDataType(name.getName() + ".body"),
new FieldSets(),
documentReferences,
importedFieldNames);
@@ -96,14 +94,12 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
public NewDocumentType(Name name,
StructDataType header,
- StructDataType body,
FieldSets fs,
Set<Name> documentReferences,
Set<String> importedFieldNames) {
super(name.getName());
this.name = name;
this.header = header;
- this.body = body;
if (fs != null) {
this.fieldSets.addAll(fs.userFieldSets().values());
for (FieldSet f : fs.builtInFieldSets().values()) {
@@ -122,7 +118,6 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
}
public DataType getHeader() { return header; }
- public DataType getBody() { return body; }
public Collection<NewDocumentType> getInherited() { return inherits.values(); }
public NewDocumentType getInherited(Name inherited) { return inherits.get(inherited.getId()); }
public NewDocumentType removeInherited(Name inherited) { return inherits.remove(inherited.getId()); }
@@ -144,23 +139,6 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
return ret;
}
- /**
- * Data type of the body fields of this and all inherited document types
- * @return merged {@link StructDataType}
- */
- public StructDataType allBody() {
- StructDataType ret = new StructDataType(body.getName());
- for (Field f : body.getFields()) {
- ret.addField(f);
- }
- for (NewDocumentType inherited : getInherited()) {
- for (Field f : ((StructDataType) inherited.getBody()).getFields()) {
- ret.addField(f);
- }
- }
- return ret;
- }
-
@Override
public Class getValueClass() {
return Document.class;
@@ -219,9 +197,6 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
public Field getField(String name) {
Field field = header.getField(name);
if (field == null) {
- field = body.getField(name);
- }
- if (field == null) {
for (NewDocumentType inheritedType : inherits.values()) {
field = inheritedType.getField(name);
if (field != null) {
@@ -240,9 +215,6 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
public Field getField(int id) {
Field field = header.getField(id);
if (field == null) {
- field = body.getField(id);
- }
- if (field == null) {
for (NewDocumentType inheritedType : inherits.values()) {
field = inheritedType.getField(id);
if (field != null) {
@@ -261,14 +233,12 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp
}
collection.addAll(header.getFields());
- collection.addAll(body.getFields());
return Collections.unmodifiableCollection(collection);
}
public Collection<Field> getFields() {
Collection<Field> collection = new LinkedList<>();
collection.addAll(header.getFields());
- collection.addAll(body.getFields());
return Collections.unmodifiableCollection(collection);
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java
index d3a78321106..fed35382b21 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java
@@ -338,7 +338,6 @@ public class DocumentModelBuilder {
Map<StructDataType, String> structInheritance = new HashMap<>();
NewDocumentType dt = new NewDocumentType(new NewDocumentType.Name(sdoc.getName()),
sdoc.getDocumentType().contentStruct(),
- sdoc.getDocumentType().getBodyType(),
sdoc.getFieldSets(),
convertDocumentReferencesToNames(sdoc.getDocumentReferences()),
convertTemporaryImportedFieldsToNames(sdoc.getTemporaryImportedFields()));
@@ -391,7 +390,6 @@ public class DocumentModelBuilder {
}
}
handleStruct(dt, sdoc.getDocumentType().contentStruct());
- handleStruct(dt, sdoc.getDocumentType().getBodyType());
extractDataTypesFromFields(dt, sdoc.fieldSet());
return dt;
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/document/SDDocumentType.java b/config-model/src/main/java/com/yahoo/searchdefinition/document/SDDocumentType.java
index b3f98cc6f26..c44bf44f4fe 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/document/SDDocumentType.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/document/SDDocumentType.java
@@ -155,7 +155,6 @@ public class SDDocumentType implements Cloneable, Serializable {
public SDDocumentType(String name, Search search) {
docType = new DocumentType(name);
docType.contentStruct().setCompressionConfig(new CompressionConfig());
- docType.getBodyType().setCompressionConfig(new CompressionConfig());
validateId(search);
inherit(VESPA_DOCUMENT);
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
index e0d015cc8b2..9b516767c9b 100644
--- a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
+++ b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentManager.java
@@ -94,8 +94,7 @@ public class DocumentManager {
builder.documenttype(doc);
doc.
name(dt.getName()).
- headerstruct(dt.contentStruct().getId()).
- bodystruct(dt.getBodyType().getId());
+ headerstruct(dt.contentStruct().getId());
for (DocumentType inherited : dt.getInheritedTypes()) {
doc.inherits(new Datatype.Documenttype.Inherits.Builder().name(inherited.getName()));
}
@@ -105,8 +104,7 @@ public class DocumentManager {
builder.documenttype(doc);
doc.
name(dt.getName()).
- headerstruct(dt.getHeader().getId()).
- bodystruct(dt.getBody().getId());
+ headerstruct(dt.getHeader().getId());
for (NewDocumentType inherited : dt.getInherited()) {
doc.inherits(new Datatype.Documenttype.Inherits.Builder().name(inherited.getName()));
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java
index e6bf826dccc..4f075264608 100644
--- a/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java
+++ b/config-model/src/main/java/com/yahoo/vespa/configmodel/producers/DocumentTypes.java
@@ -42,8 +42,7 @@ public class DocumentTypes {
db.
id(documentType.getId()).
name(documentType.getName()).
- headerstruct(documentType.getHeader().getId()).
- bodystruct(documentType.getBody().getId());
+ headerstruct(documentType.getHeader().getId());
Set<Integer> built = new HashSet<>();
for (NewDocumentType inherited : documentType.getInherited()) {
db.inherits(new DocumenttypesConfig.Documenttype.Inherits.Builder().id(inherited.getId()));
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj
index 5586b6a24e7..75ef3a831e8 100644
--- a/config-model/src/main/javacc/SDParser.jj
+++ b/config-model/src/main/javacc/SDParser.jj
@@ -586,9 +586,6 @@ void compression(SDDocumentType document, String name) :
if (name == null || name.equals("header")) {
document.getDocumentType().contentStruct().setCompressionConfig(cfg);
}
- if (name == null || name.equals("body")) {
- document.getDocumentType().getBodyType().setCompressionConfig(cfg);
- }
}
}
diff --git a/config-model/src/test/configmodel/types/documentmanager.cfg b/config-model/src/test/configmodel/types/documentmanager.cfg
index 631886181d7..f59dbeeb3ca 100644
--- a/config-model/src/test/configmodel/types/documentmanager.cfg
+++ b/config-model/src/test/configmodel/types/documentmanager.cfg
@@ -214,44 +214,37 @@ datatype[26].structtype[0].field[26].detailedtype ""
datatype[26].structtype[0].field[27].name "other"
datatype[26].structtype[0].field[27].datatype 4
datatype[26].structtype[0].field[27].detailedtype ""
-datatype[27].id 348447225
-datatype[27].structtype[0].name "types.body"
-datatype[27].structtype[0].version 0
-datatype[27].structtype[0].compresstype NONE
-datatype[27].structtype[0].compresslevel 0
-datatype[27].structtype[0].compressthreshold 95
-datatype[27].structtype[0].compressminsize 800
-datatype[28].id -853072901
-datatype[28].documenttype[0].name "types"
-datatype[28].documenttype[0].version 0
-datatype[28].documenttype[0].inherits[0].name "document"
-datatype[28].documenttype[0].inherits[0].version 0
-datatype[28].documenttype[0].headerstruct 1328581348
-datatype[28].documenttype[0].bodystruct 348447225
-datatype[28].documenttype[0].fieldsets{[document]}.fields[0] "Folders"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[1] "abyte"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[2] "album0"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[3] "album1"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[4] "along"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[5] "arrarr"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[6] "arrayfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[7] "arraymapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[8] "complexarray"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[9] "doublemapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[10] "floatmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[11] "intmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[12] "juletre"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[13] "longmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[14] "maparr"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[15] "mystructarr"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[16] "mystructfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[17] "mystructmap"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[18] "pos"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[19] "setfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[20] "setfield2"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[21] "setfield3"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[22] "setfield4"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[23] "stringmapfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[24] "structarrayfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[25] "structfield"
-datatype[28].documenttype[0].fieldsets{[document]}.fields[26] "tagfield"
+datatype[27].id -853072901
+datatype[27].documenttype[0].name "types"
+datatype[27].documenttype[0].version 0
+datatype[27].documenttype[0].inherits[0].name "document"
+datatype[27].documenttype[0].inherits[0].version 0
+datatype[27].documenttype[0].headerstruct 1328581348
+datatype[27].documenttype[0].bodystruct 0
+datatype[27].documenttype[0].fieldsets{[document]}.fields[0] "Folders"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[1] "abyte"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[2] "album0"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[3] "album1"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[4] "along"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[5] "arrarr"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[6] "arrayfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[7] "arraymapfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[8] "complexarray"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[9] "doublemapfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[10] "floatmapfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[11] "intmapfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[12] "juletre"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[13] "longmapfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[14] "maparr"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[15] "mystructarr"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[16] "mystructfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[17] "mystructmap"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[18] "pos"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[19] "setfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[20] "setfield2"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[21] "setfield3"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[22] "setfield4"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[23] "stringmapfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[24] "structarrayfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[25] "structfield"
+datatype[27].documenttype[0].fieldsets{[document]}.fields[26] "tagfield"
diff --git a/config-model/src/test/configmodel/types/documenttypes.cfg b/config-model/src/test/configmodel/types/documenttypes.cfg
index 8c88ee4f4e0..8f576715a4f 100644
--- a/config-model/src/test/configmodel/types/documenttypes.cfg
+++ b/config-model/src/test/configmodel/types/documenttypes.cfg
@@ -3,7 +3,7 @@ documenttype[0].id -853072901
documenttype[0].name "types"
documenttype[0].version 0
documenttype[0].headerstruct 1328581348
-documenttype[0].bodystruct 348447225
+documenttype[0].bodystruct 0
documenttype[0].inherits[0].id 8
documenttype[0].datatype[0].id -1865479609
documenttype[0].datatype[0].type MAP
@@ -547,21 +547,6 @@ documenttype[0].datatype[25].sstruct.field[27].name "other"
documenttype[0].datatype[25].sstruct.field[27].id 2443357
documenttype[0].datatype[25].sstruct.field[27].datatype 4
documenttype[0].datatype[25].sstruct.field[27].detailedtype ""
-documenttype[0].datatype[26].id 348447225
-documenttype[0].datatype[26].type STRUCT
-documenttype[0].datatype[26].array.element.id 0
-documenttype[0].datatype[26].map.key.id 0
-documenttype[0].datatype[26].map.value.id 0
-documenttype[0].datatype[26].wset.key.id 0
-documenttype[0].datatype[26].wset.createifnonexistent false
-documenttype[0].datatype[26].wset.removeifzero false
-documenttype[0].datatype[26].annotationref.annotation.id 0
-documenttype[0].datatype[26].sstruct.name "types.body"
-documenttype[0].datatype[26].sstruct.version 0
-documenttype[0].datatype[26].sstruct.compression.type NONE
-documenttype[0].datatype[26].sstruct.compression.level 0
-documenttype[0].datatype[26].sstruct.compression.threshold 95
-documenttype[0].datatype[26].sstruct.compression.minsize 200
documenttype[0].fieldsets{[document]}.fields[0] "Folders"
documenttype[0].fieldsets{[document]}.fields[1] "abyte"
documenttype[0].fieldsets{[document]}.fields[2] "album0"
diff --git a/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg b/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
index 4f04e901a92..283e5c2fe79 100644
--- a/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
+++ b/config-model/src/test/configmodel/types/documenttypes_with_doc_field.cfg
@@ -3,7 +3,7 @@ documenttype[0].id -1368624373
documenttype[0].name "other_doc"
documenttype[0].version 0
documenttype[0].headerstruct 1631005140
-documenttype[0].bodystruct 549879017
+documenttype[0].bodystruct 0
documenttype[0].inherits[0].id 8
documenttype[0].datatype[0].id 1631005140
documenttype[0].datatype[0].type STRUCT
@@ -20,26 +20,11 @@ documenttype[0].datatype[0].sstruct.compression.type NONE
documenttype[0].datatype[0].sstruct.compression.level 0
documenttype[0].datatype[0].sstruct.compression.threshold 95
documenttype[0].datatype[0].sstruct.compression.minsize 200
-documenttype[0].datatype[1].id 549879017
-documenttype[0].datatype[1].type STRUCT
-documenttype[0].datatype[1].array.element.id 0
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name "other_doc.body"
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
documenttype[1].id -853072901
documenttype[1].name "types"
documenttype[1].version 0
documenttype[1].headerstruct 1328581348
-documenttype[1].bodystruct 348447225
+documenttype[1].bodystruct 0
documenttype[1].inherits[0].id 8
documenttype[1].datatype[0].id -1368624373
documenttype[1].datatype[0].type STRUCT
@@ -75,19 +60,4 @@ documenttype[1].datatype[1].sstruct.field[0].name "doc_field"
documenttype[1].datatype[1].sstruct.field[0].id 819293364
documenttype[1].datatype[1].sstruct.field[0].datatype -1368624373
documenttype[1].datatype[1].sstruct.field[0].detailedtype ""
-documenttype[1].datatype[2].id 348447225
-documenttype[1].datatype[2].type STRUCT
-documenttype[1].datatype[2].array.element.id 0
-documenttype[1].datatype[2].map.key.id 0
-documenttype[1].datatype[2].map.value.id 0
-documenttype[1].datatype[2].wset.key.id 0
-documenttype[1].datatype[2].wset.createifnonexistent false
-documenttype[1].datatype[2].wset.removeifzero false
-documenttype[1].datatype[2].annotationref.annotation.id 0
-documenttype[1].datatype[2].sstruct.name "types.body"
-documenttype[1].datatype[2].sstruct.version 0
-documenttype[1].datatype[2].sstruct.compression.type NONE
-documenttype[1].datatype[2].sstruct.compression.level 0
-documenttype[1].datatype[2].sstruct.compression.threshold 95
-documenttype[1].datatype[2].sstruct.compression.minsize 200
documenttype[1].fieldsets{[document]}.fields[0] "doc_field"
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg b/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg
index 7b50176625d..7ae73c23685 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_multiple_imported_fields.cfg
@@ -29,76 +29,55 @@ datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "person_ref"
datatype[3].structtype[0].field[1].datatype 542332920
datatype[3].structtype[0].field[1].detailedtype ""
-datatype[4].id -255288561
-datatype[4].structtype[0].name "ad.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[5].id 2987301
-datatype[5].documenttype[0].name "ad"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].inherits[0].name "document"
-datatype[5].documenttype[0].inherits[0].version 0
-datatype[5].documenttype[0].headerstruct 959075962
-datatype[5].documenttype[0].bodystruct -255288561
-datatype[5].documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[1] "person_ref"
-datatype[5].documenttype[0].importedfield[0].name "my_cool_field"
-datatype[5].documenttype[0].importedfield[1].name "my_swag_field"
-datatype[5].documenttype[0].importedfield[2].name "my_name"
-datatype[6].id -2041471955
-datatype[6].structtype[0].name "campaign.header"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[6].structtype[0].field[0].name "cool_field"
-datatype[6].structtype[0].field[0].datatype 2
-datatype[6].structtype[0].field[0].detailedtype ""
-datatype[6].structtype[0].field[1].name "swag_field"
-datatype[6].structtype[0].field[1].datatype 4
-datatype[6].structtype[0].field[1].detailedtype ""
-datatype[7].id 1448849794
-datatype[7].structtype[0].name "campaign.body"
+datatype[4].id 2987301
+datatype[4].documenttype[0].name "ad"
+datatype[4].documenttype[0].version 0
+datatype[4].documenttype[0].inherits[0].name "document"
+datatype[4].documenttype[0].inherits[0].version 0
+datatype[4].documenttype[0].headerstruct 959075962
+datatype[4].documenttype[0].bodystruct 0
+datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
+datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "person_ref"
+datatype[4].documenttype[0].importedfield[0].name "my_cool_field"
+datatype[4].documenttype[0].importedfield[1].name "my_swag_field"
+datatype[4].documenttype[0].importedfield[2].name "my_name"
+datatype[5].id -2041471955
+datatype[5].structtype[0].name "campaign.header"
+datatype[5].structtype[0].version 0
+datatype[5].structtype[0].compresstype NONE
+datatype[5].structtype[0].compresslevel 0
+datatype[5].structtype[0].compressthreshold 95
+datatype[5].structtype[0].compressminsize 800
+datatype[5].structtype[0].field[0].name "cool_field"
+datatype[5].structtype[0].field[0].datatype 2
+datatype[5].structtype[0].field[0].detailedtype ""
+datatype[5].structtype[0].field[1].name "swag_field"
+datatype[5].structtype[0].field[1].datatype 4
+datatype[5].structtype[0].field[1].detailedtype ""
+datatype[6].id -1318255918
+datatype[6].documenttype[0].name "campaign"
+datatype[6].documenttype[0].version 0
+datatype[6].documenttype[0].inherits[0].name "document"
+datatype[6].documenttype[0].inherits[0].version 0
+datatype[6].documenttype[0].headerstruct -2041471955
+datatype[6].documenttype[0].bodystruct 0
+datatype[6].documenttype[0].fieldsets{[document]}.fields[0] "cool_field"
+datatype[6].documenttype[0].fieldsets{[document]}.fields[1] "swag_field"
+datatype[7].id 3129224
+datatype[7].structtype[0].name "person.header"
datatype[7].structtype[0].version 0
datatype[7].structtype[0].compresstype NONE
datatype[7].structtype[0].compresslevel 0
datatype[7].structtype[0].compressthreshold 95
datatype[7].structtype[0].compressminsize 800
-datatype[8].id -1318255918
-datatype[8].documenttype[0].name "campaign"
+datatype[7].structtype[0].field[0].name "name"
+datatype[7].structtype[0].field[0].datatype 2
+datatype[7].structtype[0].field[0].detailedtype ""
+datatype[8].id 443162583
+datatype[8].documenttype[0].name "person"
datatype[8].documenttype[0].version 0
datatype[8].documenttype[0].inherits[0].name "document"
datatype[8].documenttype[0].inherits[0].version 0
-datatype[8].documenttype[0].headerstruct -2041471955
-datatype[8].documenttype[0].bodystruct 1448849794
-datatype[8].documenttype[0].fieldsets{[document]}.fields[0] "cool_field"
-datatype[8].documenttype[0].fieldsets{[document]}.fields[1] "swag_field"
-datatype[9].id 3129224
-datatype[9].structtype[0].name "person.header"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[9].structtype[0].field[0].name "name"
-datatype[9].structtype[0].field[0].datatype 2
-datatype[9].structtype[0].field[0].detailedtype ""
-datatype[10].id -2003767395
-datatype[10].structtype[0].name "person.body"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].compresstype NONE
-datatype[10].structtype[0].compresslevel 0
-datatype[10].structtype[0].compressthreshold 95
-datatype[10].structtype[0].compressminsize 800
-datatype[11].id 443162583
-datatype[11].documenttype[0].name "person"
-datatype[11].documenttype[0].version 0
-datatype[11].documenttype[0].inherits[0].name "document"
-datatype[11].documenttype[0].inherits[0].version 0
-datatype[11].documenttype[0].headerstruct 3129224
-datatype[11].documenttype[0].bodystruct -2003767395
-datatype[11].documenttype[0].fieldsets{[document]}.fields[0] "name" \ No newline at end of file
+datatype[8].documenttype[0].headerstruct 3129224
+datatype[8].documenttype[0].bodystruct 0
+datatype[8].documenttype[0].fieldsets{[document]}.fields[0] "name"
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg b/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg
index e624ffdf7f5..a613c2c034d 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_ref_to_self_type.cfg
@@ -24,18 +24,11 @@ datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "self_ref"
datatype[].structtype[].field[].datatype -1895788438
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -255288561
-datatype[].structtype[].name "ad.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 2987301
datatype[].documenttype[].name "ad"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 959075962
-datatype[].documenttype[].bodystruct -255288561
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "self_ref"
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg
index 90ddb8c9f8d..2b6e2e852a3 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_other_types.cfg
@@ -29,61 +29,40 @@ datatype[3].structtype[0].field[0].detailedtype ""
datatype[3].structtype[0].field[1].name "person_ref"
datatype[3].structtype[0].field[1].datatype 542332920
datatype[3].structtype[0].field[1].detailedtype ""
-datatype[4].id -255288561
-datatype[4].structtype[0].name "ad.body"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[5].id 2987301
-datatype[5].documenttype[0].name "ad"
-datatype[5].documenttype[0].version 0
-datatype[5].documenttype[0].inherits[0].name "document"
-datatype[5].documenttype[0].inherits[0].version 0
-datatype[5].documenttype[0].headerstruct 959075962
-datatype[5].documenttype[0].bodystruct -255288561
-datatype[5].documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
-datatype[5].documenttype[0].fieldsets{[document]}.fields[1] "person_ref"
-datatype[6].id -2041471955
-datatype[6].structtype[0].name "campaign.header"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id 1448849794
-datatype[7].structtype[0].name "campaign.body"
+datatype[4].id 2987301
+datatype[4].documenttype[0].name "ad"
+datatype[4].documenttype[0].version 0
+datatype[4].documenttype[0].inherits[0].name "document"
+datatype[4].documenttype[0].inherits[0].version 0
+datatype[4].documenttype[0].headerstruct 959075962
+datatype[4].documenttype[0].bodystruct 0
+datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
+datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "person_ref"
+datatype[5].id -2041471955
+datatype[5].structtype[0].name "campaign.header"
+datatype[5].structtype[0].version 0
+datatype[5].structtype[0].compresstype NONE
+datatype[5].structtype[0].compresslevel 0
+datatype[5].structtype[0].compressthreshold 95
+datatype[5].structtype[0].compressminsize 800
+datatype[6].id -1318255918
+datatype[6].documenttype[0].name "campaign"
+datatype[6].documenttype[0].version 0
+datatype[6].documenttype[0].inherits[0].name "document"
+datatype[6].documenttype[0].inherits[0].version 0
+datatype[6].documenttype[0].headerstruct -2041471955
+datatype[6].documenttype[0].bodystruct 0
+datatype[7].id 3129224
+datatype[7].structtype[0].name "person.header"
datatype[7].structtype[0].version 0
datatype[7].structtype[0].compresstype NONE
datatype[7].structtype[0].compresslevel 0
datatype[7].structtype[0].compressthreshold 95
datatype[7].structtype[0].compressminsize 800
-datatype[8].id -1318255918
-datatype[8].documenttype[0].name "campaign"
+datatype[8].id 443162583
+datatype[8].documenttype[0].name "person"
datatype[8].documenttype[0].version 0
datatype[8].documenttype[0].inherits[0].name "document"
datatype[8].documenttype[0].inherits[0].version 0
-datatype[8].documenttype[0].headerstruct -2041471955
-datatype[8].documenttype[0].bodystruct 1448849794
-datatype[9].id 3129224
-datatype[9].structtype[0].name "person.header"
-datatype[9].structtype[0].version 0
-datatype[9].structtype[0].compresstype NONE
-datatype[9].structtype[0].compresslevel 0
-datatype[9].structtype[0].compressthreshold 95
-datatype[9].structtype[0].compressminsize 800
-datatype[10].id -2003767395
-datatype[10].structtype[0].name "person.body"
-datatype[10].structtype[0].version 0
-datatype[10].structtype[0].compresstype NONE
-datatype[10].structtype[0].compresslevel 0
-datatype[10].structtype[0].compressthreshold 95
-datatype[10].structtype[0].compressminsize 800
-datatype[11].id 443162583
-datatype[11].documenttype[0].name "person"
-datatype[11].documenttype[0].version 0
-datatype[11].documenttype[0].inherits[0].name "document"
-datatype[11].documenttype[0].inherits[0].version 0
-datatype[11].documenttype[0].headerstruct 3129224
-datatype[11].documenttype[0].bodystruct -2003767395
+datatype[8].documenttype[0].headerstruct 3129224
+datatype[8].documenttype[0].bodystruct 0
diff --git a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg
index 1807adeb68d..bab281cca36 100644
--- a/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documentmanager_refs_to_same_type.cfg
@@ -27,40 +27,26 @@ datatype[2].structtype[0].field[0].detailedtype ""
datatype[2].structtype[0].field[1].name "other_campaign_ref"
datatype[2].structtype[0].field[1].datatype 595216861
datatype[2].structtype[0].field[1].detailedtype ""
-datatype[3].id -255288561
-datatype[3].structtype[0].name "ad.body"
-datatype[3].structtype[0].version 0
-datatype[3].structtype[0].compresstype NONE
-datatype[3].structtype[0].compresslevel 0
-datatype[3].structtype[0].compressthreshold 95
-datatype[3].structtype[0].compressminsize 800
-datatype[4].id 2987301
-datatype[4].documenttype[0].name "ad"
-datatype[4].documenttype[0].version 0
-datatype[4].documenttype[0].inherits[0].name "document"
-datatype[4].documenttype[0].inherits[0].version 0
-datatype[4].documenttype[0].headerstruct 959075962
-datatype[4].documenttype[0].bodystruct -255288561
-datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
-datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "other_campaign_ref"
-datatype[5].id -2041471955
-datatype[5].structtype[0].name "campaign.header"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id 1448849794
-datatype[6].structtype[0].name "campaign.body"
-datatype[6].structtype[0].version 0
-datatype[6].structtype[0].compresstype NONE
-datatype[6].structtype[0].compresslevel 0
-datatype[6].structtype[0].compressthreshold 95
-datatype[6].structtype[0].compressminsize 800
-datatype[7].id -1318255918
-datatype[7].documenttype[0].name "campaign"
-datatype[7].documenttype[0].version 0
-datatype[7].documenttype[0].inherits[0].name "document"
-datatype[7].documenttype[0].inherits[0].version 0
-datatype[7].documenttype[0].headerstruct -2041471955
-datatype[7].documenttype[0].bodystruct 1448849794
+datatype[3].id 2987301
+datatype[3].documenttype[0].name "ad"
+datatype[3].documenttype[0].version 0
+datatype[3].documenttype[0].inherits[0].name "document"
+datatype[3].documenttype[0].inherits[0].version 0
+datatype[3].documenttype[0].headerstruct 959075962
+datatype[3].documenttype[0].bodystruct 0
+datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
+datatype[3].documenttype[0].fieldsets{[document]}.fields[1] "other_campaign_ref"
+datatype[4].id -2041471955
+datatype[4].structtype[0].name "campaign.header"
+datatype[4].structtype[0].version 0
+datatype[4].structtype[0].compresstype NONE
+datatype[4].structtype[0].compresslevel 0
+datatype[4].structtype[0].compressthreshold 95
+datatype[4].structtype[0].compressminsize 800
+datatype[5].id -1318255918
+datatype[5].documenttype[0].name "campaign"
+datatype[5].documenttype[0].version 0
+datatype[5].documenttype[0].inherits[0].name "document"
+datatype[5].documenttype[0].inherits[0].version 0
+datatype[5].documenttype[0].headerstruct -2041471955
+datatype[5].documenttype[0].bodystruct 0
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg b/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg
index 7859703ffe0..242310b57a4 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_multiple_imported_fields.cfg
@@ -3,7 +3,7 @@ documenttype[0].id 2987301
documenttype[0].name "ad"
documenttype[0].version 0
documenttype[0].headerstruct 959075962
-documenttype[0].bodystruct -255288561
+documenttype[0].bodystruct 0
documenttype[0].inherits[0].id 8
documenttype[0].datatype[0].id 959075962
documenttype[0].datatype[0].type STRUCT
@@ -28,21 +28,6 @@ documenttype[0].datatype[0].sstruct.field[1].name "person_ref"
documenttype[0].datatype[0].sstruct.field[1].id 100779805
documenttype[0].datatype[0].sstruct.field[1].datatype 542332920
documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
-documenttype[0].datatype[1].id -255288561
-documenttype[0].datatype[1].type STRUCT
-documenttype[0].datatype[1].array.element.id 0
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name "ad.body"
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
documenttype[0].fieldsets{[document]}.fields[1] "person_ref"
documenttype[0].referencetype[0].id 595216861
@@ -56,7 +41,7 @@ documenttype[1].id -1318255918
documenttype[1].name "campaign"
documenttype[1].version 0
documenttype[1].headerstruct -2041471955
-documenttype[1].bodystruct 1448849794
+documenttype[1].bodystruct 0
documenttype[1].inherits[0].id 8
documenttype[1].datatype[0].id -2041471955
documenttype[1].datatype[0].type STRUCT
@@ -81,28 +66,13 @@ documenttype[1].datatype[0].sstruct.field[1].name "swag_field"
documenttype[1].datatype[0].sstruct.field[1].id 1691224741
documenttype[1].datatype[0].sstruct.field[1].datatype 4
documenttype[1].datatype[0].sstruct.field[1].detailedtype ""
-documenttype[1].datatype[1].id 1448849794
-documenttype[1].datatype[1].type STRUCT
-documenttype[1].datatype[1].array.element.id 0
-documenttype[1].datatype[1].map.key.id 0
-documenttype[1].datatype[1].map.value.id 0
-documenttype[1].datatype[1].wset.key.id 0
-documenttype[1].datatype[1].wset.createifnonexistent false
-documenttype[1].datatype[1].wset.removeifzero false
-documenttype[1].datatype[1].annotationref.annotation.id 0
-documenttype[1].datatype[1].sstruct.name "campaign.body"
-documenttype[1].datatype[1].sstruct.version 0
-documenttype[1].datatype[1].sstruct.compression.type NONE
-documenttype[1].datatype[1].sstruct.compression.level 0
-documenttype[1].datatype[1].sstruct.compression.threshold 95
-documenttype[1].datatype[1].sstruct.compression.minsize 200
documenttype[1].fieldsets{[document]}.fields[0] "cool_field"
documenttype[1].fieldsets{[document]}.fields[1] "swag_field"
documenttype[2].id 443162583
documenttype[2].name "person"
documenttype[2].version 0
documenttype[2].headerstruct 3129224
-documenttype[2].bodystruct -2003767395
+documenttype[2].bodystruct 0
documenttype[2].inherits[0].id 8
documenttype[2].datatype[0].id 3129224
documenttype[2].datatype[0].type STRUCT
@@ -123,19 +93,4 @@ documenttype[2].datatype[0].sstruct.field[0].name "name"
documenttype[2].datatype[0].sstruct.field[0].id 1160796772
documenttype[2].datatype[0].sstruct.field[0].datatype 2
documenttype[2].datatype[0].sstruct.field[0].detailedtype ""
-documenttype[2].datatype[1].id -2003767395
-documenttype[2].datatype[1].type STRUCT
-documenttype[2].datatype[1].array.element.id 0
-documenttype[2].datatype[1].map.key.id 0
-documenttype[2].datatype[1].map.value.id 0
-documenttype[2].datatype[1].wset.key.id 0
-documenttype[2].datatype[1].wset.createifnonexistent false
-documenttype[2].datatype[1].wset.removeifzero false
-documenttype[2].datatype[1].annotationref.annotation.id 0
-documenttype[2].datatype[1].sstruct.name "person.body"
-documenttype[2].datatype[1].sstruct.version 0
-documenttype[2].datatype[1].sstruct.compression.type NONE
-documenttype[2].datatype[1].sstruct.compression.level 0
-documenttype[2].datatype[1].sstruct.compression.threshold 95
-documenttype[2].datatype[1].sstruct.compression.minsize 200
-documenttype[2].fieldsets{[document]}.fields[0] "name" \ No newline at end of file
+documenttype[2].fieldsets{[document]}.fields[0] "name"
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg b/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg
index ca568aaa43d..f925ac99a25 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_ref_to_self_type.cfg
@@ -3,7 +3,7 @@ documenttype[].id 2987301
documenttype[].name "ad"
documenttype[].version 0
documenttype[].headerstruct 959075962
-documenttype[].bodystruct -255288561
+documenttype[].bodystruct 0
documenttype[].inherits[].id 8
documenttype[].datatype[].id 959075962
documenttype[].datatype[].type STRUCT
@@ -24,21 +24,6 @@ documenttype[].datatype[].sstruct.field[].name "self_ref"
documenttype[].datatype[].sstruct.field[].id 852207313
documenttype[].datatype[].sstruct.field[].datatype -1895788438
documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].id -255288561
-documenttype[].datatype[].type STRUCT
-documenttype[].datatype[].array.element.id 0
-documenttype[].datatype[].map.key.id 0
-documenttype[].datatype[].map.value.id 0
-documenttype[].datatype[].wset.key.id 0
-documenttype[].datatype[].wset.createifnonexistent false
-documenttype[].datatype[].wset.removeifzero false
-documenttype[].datatype[].annotationref.annotation.id 0
-documenttype[].datatype[].sstruct.name "ad.body"
-documenttype[].datatype[].sstruct.version 0
-documenttype[].datatype[].sstruct.compression.type NONE
-documenttype[].datatype[].sstruct.compression.level 0
-documenttype[].datatype[].sstruct.compression.threshold 95
-documenttype[].datatype[].sstruct.compression.minsize 200
documenttype[].fieldsets{[document]}.fields[] "self_ref"
documenttype[].referencetype[].id -1895788438
documenttype[].referencetype[].target_type_id 2987301
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg
index a7fd3577789..c3aba21a498 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_other_types.cfg
@@ -3,7 +3,7 @@ documenttype[0].id 2987301
documenttype[0].name "ad"
documenttype[0].version 0
documenttype[0].headerstruct 959075962
-documenttype[0].bodystruct -255288561
+documenttype[0].bodystruct 0
documenttype[0].inherits[0].id 8
documenttype[0].datatype[0].id 959075962
documenttype[0].datatype[0].type STRUCT
@@ -28,21 +28,6 @@ documenttype[0].datatype[0].sstruct.field[1].name "person_ref"
documenttype[0].datatype[0].sstruct.field[1].id 100779805
documenttype[0].datatype[0].sstruct.field[1].datatype 542332920
documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
-documenttype[0].datatype[1].id -255288561
-documenttype[0].datatype[1].type STRUCT
-documenttype[0].datatype[1].array.element.id 0
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name "ad.body"
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
documenttype[0].fieldsets{[document]}.fields[1] "person_ref"
documenttype[0].referencetype[0].id 595216861
@@ -53,7 +38,7 @@ documenttype[1].id -1318255918
documenttype[1].name "campaign"
documenttype[1].version 0
documenttype[1].headerstruct -2041471955
-documenttype[1].bodystruct 1448849794
+documenttype[1].bodystruct 0
documenttype[1].inherits[0].id 8
documenttype[1].datatype[0].id -2041471955
documenttype[1].datatype[0].type STRUCT
@@ -70,26 +55,11 @@ documenttype[1].datatype[0].sstruct.compression.type NONE
documenttype[1].datatype[0].sstruct.compression.level 0
documenttype[1].datatype[0].sstruct.compression.threshold 95
documenttype[1].datatype[0].sstruct.compression.minsize 200
-documenttype[1].datatype[1].id 1448849794
-documenttype[1].datatype[1].type STRUCT
-documenttype[1].datatype[1].array.element.id 0
-documenttype[1].datatype[1].map.key.id 0
-documenttype[1].datatype[1].map.value.id 0
-documenttype[1].datatype[1].wset.key.id 0
-documenttype[1].datatype[1].wset.createifnonexistent false
-documenttype[1].datatype[1].wset.removeifzero false
-documenttype[1].datatype[1].annotationref.annotation.id 0
-documenttype[1].datatype[1].sstruct.name "campaign.body"
-documenttype[1].datatype[1].sstruct.version 0
-documenttype[1].datatype[1].sstruct.compression.type NONE
-documenttype[1].datatype[1].sstruct.compression.level 0
-documenttype[1].datatype[1].sstruct.compression.threshold 95
-documenttype[1].datatype[1].sstruct.compression.minsize 200
documenttype[2].id 443162583
documenttype[2].name "person"
documenttype[2].version 0
documenttype[2].headerstruct 3129224
-documenttype[2].bodystruct -2003767395
+documenttype[2].bodystruct 0
documenttype[2].inherits[0].id 8
documenttype[2].datatype[0].id 3129224
documenttype[2].datatype[0].type STRUCT
@@ -106,18 +76,3 @@ documenttype[2].datatype[0].sstruct.compression.type NONE
documenttype[2].datatype[0].sstruct.compression.level 0
documenttype[2].datatype[0].sstruct.compression.threshold 95
documenttype[2].datatype[0].sstruct.compression.minsize 200
-documenttype[2].datatype[1].id -2003767395
-documenttype[2].datatype[1].type STRUCT
-documenttype[2].datatype[1].array.element.id 0
-documenttype[2].datatype[1].map.key.id 0
-documenttype[2].datatype[1].map.value.id 0
-documenttype[2].datatype[1].wset.key.id 0
-documenttype[2].datatype[1].wset.createifnonexistent false
-documenttype[2].datatype[1].wset.removeifzero false
-documenttype[2].datatype[1].annotationref.annotation.id 0
-documenttype[2].datatype[1].sstruct.name "person.body"
-documenttype[2].datatype[1].sstruct.version 0
-documenttype[2].datatype[1].sstruct.compression.type NONE
-documenttype[2].datatype[1].sstruct.compression.level 0
-documenttype[2].datatype[1].sstruct.compression.threshold 95
-documenttype[2].datatype[1].sstruct.compression.minsize 200
diff --git a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg
index 46a951ae8ea..c5930449dc1 100644
--- a/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg
+++ b/config-model/src/test/configmodel/types/references/documenttypes_refs_to_same_type.cfg
@@ -3,7 +3,7 @@ documenttype[0].id 2987301
documenttype[0].name "ad"
documenttype[0].version 0
documenttype[0].headerstruct 959075962
-documenttype[0].bodystruct -255288561
+documenttype[0].bodystruct 0
documenttype[0].inherits[0].id 8
documenttype[0].datatype[0].id 959075962
documenttype[0].datatype[0].type STRUCT
@@ -28,21 +28,6 @@ documenttype[0].datatype[0].sstruct.field[1].name "other_campaign_ref"
documenttype[0].datatype[0].sstruct.field[1].id 874751172
documenttype[0].datatype[0].sstruct.field[1].datatype 595216861
documenttype[0].datatype[0].sstruct.field[1].detailedtype ""
-documenttype[0].datatype[1].id -255288561
-documenttype[0].datatype[1].type STRUCT
-documenttype[0].datatype[1].array.element.id 0
-documenttype[0].datatype[1].map.key.id 0
-documenttype[0].datatype[1].map.value.id 0
-documenttype[0].datatype[1].wset.key.id 0
-documenttype[0].datatype[1].wset.createifnonexistent false
-documenttype[0].datatype[1].wset.removeifzero false
-documenttype[0].datatype[1].annotationref.annotation.id 0
-documenttype[0].datatype[1].sstruct.name "ad.body"
-documenttype[0].datatype[1].sstruct.version 0
-documenttype[0].datatype[1].sstruct.compression.type NONE
-documenttype[0].datatype[1].sstruct.compression.level 0
-documenttype[0].datatype[1].sstruct.compression.threshold 95
-documenttype[0].datatype[1].sstruct.compression.minsize 200
documenttype[0].fieldsets{[document]}.fields[0] "campaign_ref"
documenttype[0].fieldsets{[document]}.fields[1] "other_campaign_ref"
documenttype[0].referencetype[0].id 595216861
@@ -51,7 +36,7 @@ documenttype[1].id -1318255918
documenttype[1].name "campaign"
documenttype[1].version 0
documenttype[1].headerstruct -2041471955
-documenttype[1].bodystruct 1448849794
+documenttype[1].bodystruct 0
documenttype[1].inherits[0].id 8
documenttype[1].datatype[0].id -2041471955
documenttype[1].datatype[0].type STRUCT
@@ -68,18 +53,3 @@ documenttype[1].datatype[0].sstruct.compression.type NONE
documenttype[1].datatype[0].sstruct.compression.level 0
documenttype[1].datatype[0].sstruct.compression.threshold 95
documenttype[1].datatype[0].sstruct.compression.minsize 200
-documenttype[1].datatype[1].id 1448849794
-documenttype[1].datatype[1].type STRUCT
-documenttype[1].datatype[1].array.element.id 0
-documenttype[1].datatype[1].map.key.id 0
-documenttype[1].datatype[1].map.value.id 0
-documenttype[1].datatype[1].wset.key.id 0
-documenttype[1].datatype[1].wset.createifnonexistent false
-documenttype[1].datatype[1].wset.removeifzero false
-documenttype[1].datatype[1].annotationref.annotation.id 0
-documenttype[1].datatype[1].sstruct.name "campaign.body"
-documenttype[1].datatype[1].sstruct.version 0
-documenttype[1].datatype[1].sstruct.compression.type NONE
-documenttype[1].datatype[1].sstruct.compression.level 0
-documenttype[1].datatype[1].sstruct.compression.threshold 95
-documenttype[1].datatype[1].sstruct.compression.minsize 200
diff --git a/config-model/src/test/derived/advanced/documentmanager.cfg b/config-model/src/test/derived/advanced/documentmanager.cfg
index a0a59fbf7ac..4da92d82fb9 100644
--- a/config-model/src/test/derived/advanced/documentmanager.cfg
+++ b/config-model/src/test/derived/advanced/documentmanager.cfg
@@ -67,20 +67,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "mysummary"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -704605648
-datatype[].structtype[].name "advanced.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 686681444
datatype[].documenttype[].name "advanced"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -1337915045
-datatype[].documenttype[].bodystruct -704605648
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{titleabstract}.fields[] "title"
datatype[].documenttype[].fieldsets{default}.fields[] "title"
datatype[].documenttype[].fieldsets{[document]}.fields[] "attributes_src"
diff --git a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
index fae6bd46ad7..aa74ecebd5b 100644
--- a/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsimplicitstruct/documentmanager.cfg
@@ -29,20 +29,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -1503592268
-datatype[].structtype[].name "annotationsimplicitstruct.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -2099544992
datatype[].documenttype[].name "annotationsimplicitstruct"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -364910881
-datatype[].documenttype[].bodystruct -1503592268
+datatype[].documenttype[].bodystruct 0
annotationtype[].id -269517759
annotationtype[].name "banana"
annotationtype[].datatype 517946310
diff --git a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
index 21baed26dbf..e103218793d 100644
--- a/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance/documentmanager.cfg
@@ -94,20 +94,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id 1181354668
-datatype[].structtype[].name "annotationsinheritance.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -748546200
datatype[].documenttype[].name "annotationsinheritance"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -1406250281
-datatype[].documenttype[].bodystruct 1181354668
+datatype[].documenttype[].bodystruct 0
annotationtype[].id -269517759
annotationtype[].name "banana"
annotationtype[].datatype 517946310
diff --git a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
index 3ef71148f12..5b5b2ac348f 100644
--- a/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsinheritance2/documentmanager.cfg
@@ -57,20 +57,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id 1375438150
-datatype[].structtype[].name "annotationsinheritance2.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1730091890
datatype[].documenttype[].name "annotationsinheritance2"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 424382193
-datatype[].documenttype[].bodystruct 1375438150
+datatype[].documenttype[].bodystruct 0
annotationtype[].id 1769416289
annotationtype[].name "a"
annotationtype[].datatype -1
diff --git a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
index e9ec2cb3715..1f71057f268 100644
--- a/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationspolymorphy/documentmanager.cfg
@@ -31,20 +31,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -570750959
-datatype[].structtype[].name "annotationspolymorphy.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1383624989
datatype[].documenttype[].name "annotationspolymorphy"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -1552577796
-datatype[].documenttype[].bodystruct -570750959
+datatype[].documenttype[].bodystruct 0
annotationtype[].id 668095690
annotationtype[].name "super"
annotationtype[].datatype -1
diff --git a/config-model/src/test/derived/annotationsreference/documentmanager.cfg b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
index 6526f56a906..737bcbf3cac 100644
--- a/config-model/src/test/derived/annotationsreference/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsreference/documentmanager.cfg
@@ -65,20 +65,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id 1692909067
-datatype[].structtype[].name "annotationsreference.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1448377175
datatype[].documenttype[].name "annotationsreference"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 571255414
-datatype[].documenttype[].bodystruct 1692909067
+datatype[].documenttype[].bodystruct 0
annotationtype[].id -269517759
annotationtype[].name "banana"
annotationtype[].datatype 517946310
diff --git a/config-model/src/test/derived/annotationssimple/documentmanager.cfg b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
index d32f0addceb..3af65e96558 100644
--- a/config-model/src/test/derived/annotationssimple/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationssimple/documentmanager.cfg
@@ -19,20 +19,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -682121732
-datatype[].structtype[].name "annotationssimple.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1584092648
datatype[].documenttype[].name "annotationssimple"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -1205708249
-datatype[].documenttype[].bodystruct -682121732
+datatype[].documenttype[].bodystruct 0
annotationtype[].id -269517759
annotationtype[].name "banana"
annotationtype[].datatype -1
diff --git a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
index c91b5c5e97e..0a1cda99a95 100644
--- a/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstruct/documentmanager.cfg
@@ -39,20 +39,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -1180029319
-datatype[].structtype[].name "annotationsstruct.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -263977093
datatype[].documenttype[].name "annotationsstruct"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 1341437796
-datatype[].documenttype[].bodystruct -1180029319
+datatype[].documenttype[].bodystruct 0
annotationtype[].id -160036815
annotationtype[].name "my_anno"
annotationtype[].datatype -1080124700
diff --git a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
index 22b951b1b5d..fca86c58ffa 100644
--- a/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
+++ b/config-model/src/test/derived/annotationsstructarray/documentmanager.cfg
@@ -41,20 +41,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id 1616435858
-datatype[].structtype[].name "annotationsstructarray.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1593733058
datatype[].documenttype[].name "annotationsstructarray"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 94945597
-datatype[].documenttype[].bodystruct 1616435858
+datatype[].documenttype[].bodystruct 0
annotationtype[].id -160036815
annotationtype[].name "my_anno"
annotationtype[].datatype -1080124700
diff --git a/config-model/src/test/derived/arrays/documentmanager.cfg b/config-model/src/test/derived/arrays/documentmanager.cfg
index a2d8e2e78b4..f542a936574 100644
--- a/config-model/src/test/derived/arrays/documentmanager.cfg
+++ b/config-model/src/test/derived/arrays/documentmanager.cfg
@@ -42,20 +42,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "c"
datatype[].structtype[].field[].datatype 1328286588
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1747896808
-datatype[].structtype[].name "arrays.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1292863364
datatype[].documenttype[].name "arrays"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 1081627459
-datatype[].documenttype[].bodystruct -1747896808
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{default}.fields[] "a"
datatype[].documenttype[].fieldsets{default}.fields[] "b"
datatype[].documenttype[].fieldsets{default}.fields[] "c"
diff --git a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
index e27c72fbe50..dc208a86913 100644
--- a/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
+++ b/config-model/src/test/derived/attributeprefetch/documentmanager.cfg
@@ -109,20 +109,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "wsstring"
datatype[].structtype[].field[].datatype 1328286588
datatype[].structtype[].field[].detailedtype ""
-datatype[].id 932425403
-datatype[].structtype[].name "prefetch.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1458051591
datatype[].documenttype[].name "prefetch"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -109105370
-datatype[].documenttype[].bodystruct 932425403
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "multibyte"
datatype[].documenttype[].fieldsets{[document]}.fields[] "multidouble"
datatype[].documenttype[].fieldsets{[document]}.fields[] "multifloat"
diff --git a/config-model/src/test/derived/complex/documentmanager.cfg b/config-model/src/test/derived/complex/documentmanager.cfg
index 42234e52211..50d5dac1ef9 100644
--- a/config-model/src/test/derived/complex/documentmanager.cfg
+++ b/config-model/src/test/derived/complex/documentmanager.cfg
@@ -98,20 +98,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "exact"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1665926686
-datatype[].structtype[].name "complex.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1402929550
datatype[].documenttype[].name "complex"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -1749463923
-datatype[].documenttype[].bodystruct -1665926686
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{default}.fields[] "stringfield"
datatype[].documenttype[].fieldsets{default}.fields[] "title"
datatype[].documenttype[].fieldsets{special}.fields[] "special1"
diff --git a/config-model/src/test/derived/emptydefault/documentmanager.cfg b/config-model/src/test/derived/emptydefault/documentmanager.cfg
index b6cb2d06718..e69b2c5d8c3 100644
--- a/config-model/src/test/derived/emptydefault/documentmanager.cfg
+++ b/config-model/src/test/derived/emptydefault/documentmanager.cfg
@@ -25,19 +25,12 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "two"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id 311791038
-datatype[].structtype[].name "emptydefault.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1663995626
datatype[].documenttype[].name "emptydefault"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 461724009
-datatype[].documenttype[].bodystruct 311791038
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "one"
datatype[].documenttype[].fieldsets{[document]}.fields[] "two"
diff --git a/config-model/src/test/derived/id/documentmanager.cfg b/config-model/src/test/derived/id/documentmanager.cfg
index 5140abc65fa..8ee82cdd946 100644
--- a/config-model/src/test/derived/id/documentmanager.cfg
+++ b/config-model/src/test/derived/id/documentmanager.cfg
@@ -22,18 +22,11 @@ datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "uri"
datatype[].structtype[].field[].datatype 10
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1830022377
-datatype[].structtype[].name "id.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 3225629
datatype[].documenttype[].name "id"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -531633022
-datatype[].documenttype[].bodystruct -1830022377
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "uri"
diff --git a/config-model/src/test/derived/indexswitches/documentmanager.cfg b/config-model/src/test/derived/indexswitches/documentmanager.cfg
index 78dbdb7ae74..ffeaab177ba 100644
--- a/config-model/src/test/derived/indexswitches/documentmanager.cfg
+++ b/config-model/src/test/derived/indexswitches/documentmanager.cfg
@@ -31,20 +31,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "source"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1892617122
-datatype[].structtype[].name "indexswitches.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -753375626
datatype[].documenttype[].name "indexswitches"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -555640823
-datatype[].documenttype[].bodystruct -1892617122
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{default}.fields[] "descr"
datatype[].documenttype[].fieldsets{default}.fields[] "title"
datatype[].documenttype[].fieldsets{[document]}.fields[] "descr"
diff --git a/config-model/src/test/derived/inheritance/documentmanager.cfg b/config-model/src/test/derived/inheritance/documentmanager.cfg
index b15ef13ed3f..e054019bd8f 100644
--- a/config-model/src/test/derived/inheritance/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritance/documentmanager.cfg
@@ -25,20 +25,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "overridden"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].detailedtype ""
-datatype[].id 978262812
-datatype[].structtype[].name "grandparent.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -154107656
datatype[].documenttype[].name "grandparent"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 990971719
-datatype[].documenttype[].bodystruct 978262812
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlygrandparent"
datatype[].documenttype[].fieldsets{[document]}.fields[] "overridden"
datatype[].id 1306663898
@@ -54,13 +47,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "overridden"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1989003153
-datatype[].structtype[].name "mother.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -158393403
datatype[].documenttype[].name "mother"
datatype[].documenttype[].version 0
@@ -69,7 +55,7 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 1306663898
-datatype[].documenttype[].bodystruct -1989003153
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlygrandparent"
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlymother"
datatype[].documenttype[].fieldsets{[document]}.fields[] "overridden"
@@ -86,13 +72,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "overridden"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1742340170
-datatype[].structtype[].name "father.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 986686494
datatype[].documenttype[].name "father"
datatype[].documenttype[].version 0
@@ -101,7 +80,7 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 2126589281
-datatype[].documenttype[].bodystruct -1742340170
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlyfather"
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlygrandparent"
datatype[].documenttype[].fieldsets{[document]}.fields[] "overridden"
@@ -118,13 +97,6 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "overridden"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -126593034
-datatype[].structtype[].name "child.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 746267614
datatype[].documenttype[].name "child"
datatype[].documenttype[].version 0
@@ -135,7 +107,7 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "mother"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 81425825
-datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlychild"
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlyfather"
datatype[].documenttype[].fieldsets{[document]}.fields[] "onlygrandparent"
diff --git a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
index c3ead0d31f8..df3f8908a60 100644
--- a/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritdiamond/documentmanager.cfg
@@ -1,11 +1,4 @@
enablecompression false
-datatype[].id -126593034
-datatype[].structtype[].name "child.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 336538650
datatype[].structtype[].name "child_struct"
datatype[].structtype[].version 0
@@ -40,7 +33,7 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "father"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 81425825
-datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].bodystruct 0
datatype[].id -1913265190
datatype[].structtype[].name "father_struct"
datatype[].structtype[].version 0
@@ -66,27 +59,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -52742073
-datatype[].structtype[].name "father_search.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1464571117
datatype[].documenttype[].name "father_search"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -1962244686
-datatype[].documenttype[].bodystruct -52742073
-datatype[].id -1852215954
-datatype[].structtype[].name "mother_search.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
+datatype[].documenttype[].bodystruct 0
datatype[].id -384824039
datatype[].structtype[].name "mother_search.header"
datatype[].structtype[].version 0
@@ -109,7 +88,7 @@ datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -384824039
-datatype[].documenttype[].bodystruct -1852215954
+datatype[].documenttype[].bodystruct 0
datatype[].id 1306663898
datatype[].structtype[].name "mother.header"
datatype[].structtype[].version 0
@@ -117,13 +96,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -1989003153
-datatype[].structtype[].name "mother.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -158393403
datatype[].documenttype[].name "mother"
datatype[].documenttype[].version 0
@@ -132,7 +104,7 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 1306663898
-datatype[].documenttype[].bodystruct -1989003153
+datatype[].documenttype[].bodystruct 0
datatype[].id -205818510
datatype[].structtype[].name "child_search.header"
datatype[].structtype[].version 0
@@ -140,20 +112,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -1467672569
-datatype[].structtype[].name "child_search.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -580592339
datatype[].documenttype[].name "child_search"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -205818510
-datatype[].documenttype[].bodystruct -1467672569
+datatype[].documenttype[].bodystruct 0
datatype[].id 111553393
datatype[].structtype[].name "url"
datatype[].structtype[].version 0
@@ -186,13 +151,6 @@ datatype[].structtype[].field[].name "x"
datatype[].structtype[].field[].datatype 0
datatype[].structtype[].field[].name "y"
datatype[].structtype[].field[].datatype 0
-datatype[].id 1845861921
-datatype[].structtype[].name "grandparent_search.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1530060044
datatype[].structtype[].name "grandparent_search.header"
datatype[].structtype[].version 0
@@ -206,7 +164,7 @@ datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 1530060044
-datatype[].documenttype[].bodystruct 1845861921
+datatype[].documenttype[].bodystruct 0
datatype[].id 990971719
datatype[].structtype[].name "grandparent.header"
datatype[].structtype[].version 0
@@ -214,27 +172,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id 978262812
-datatype[].structtype[].name "grandparent.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -154107656
datatype[].documenttype[].name "grandparent"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 990971719
-datatype[].documenttype[].bodystruct 978262812
-datatype[].id -1742340170
-datatype[].structtype[].name "father.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
+datatype[].documenttype[].bodystruct 0
datatype[].id 2126589281
datatype[].structtype[].name "father.header"
datatype[].structtype[].version 0
@@ -250,4 +194,4 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 2126589281
-datatype[].documenttype[].bodystruct -1742340170
+datatype[].documenttype[].bodystruct 0
diff --git a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
index 8e2ee3bbc4e..25872641741 100644
--- a/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromgrandparent/documentmanager.cfg
@@ -29,20 +29,13 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id 978262812
-datatype[].structtype[].name "grandparent.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -154107656
datatype[].documenttype[].name "grandparent"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 990971719
-datatype[].documenttype[].bodystruct 978262812
+datatype[].documenttype[].bodystruct 0
datatype[].id 836075987
datatype[].structtype[].name "parent.header"
datatype[].structtype[].version 0
@@ -50,13 +43,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -389494616
-datatype[].structtype[].name "parent.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1175161836
datatype[].documenttype[].name "parent"
datatype[].documenttype[].version 0
@@ -65,7 +51,7 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 836075987
-datatype[].documenttype[].bodystruct -389494616
+datatype[].documenttype[].bodystruct 0
datatype[].id 81425825
datatype[].structtype[].name "child.header"
datatype[].structtype[].version 0
@@ -76,13 +62,6 @@ datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "child_field"
datatype[].structtype[].field[].datatype 1246084544
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -126593034
-datatype[].structtype[].name "child.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 746267614
datatype[].documenttype[].name "child"
datatype[].documenttype[].version 0
@@ -91,5 +70,5 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "parent"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 81425825
-datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "child_field"
diff --git a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
index 7c65a7b72f3..c9cd6fd3042 100644
--- a/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documentmanager.cfg
@@ -35,20 +35,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "weight"
datatype[].structtype[].field[].datatype 1
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -389494616
-datatype[].structtype[].name "parent.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1175161836
datatype[].documenttype[].name "parent"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 836075987
-datatype[].documenttype[].bodystruct -389494616
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[]}.fields[] "weight_src"
datatype[].id 81425825
datatype[].structtype[].name "child.header"
@@ -60,13 +53,6 @@ datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "child_field"
datatype[].structtype[].field[].datatype 1091188812
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -126593034
-datatype[].structtype[].name "child.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 746267614
datatype[].documenttype[].name "child"
datatype[].documenttype[].version 0
@@ -75,6 +61,6 @@ datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].inherits[].name "parent"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 81425825
-datatype[].documenttype[].bodystruct -126593034
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[]}.fields[] "child_field"
datatype[].documenttype[].fieldsets{[]}.fields[] "weight_src"
diff --git a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
index f5ec18c4203..faef3f6923b 100644
--- a/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
+++ b/config-model/src/test/derived/inheritfromparent/documenttypes.cfg
@@ -3,7 +3,7 @@ documenttype[].id 1175161836
documenttype[].name "parent"
documenttype[].version 0
documenttype[].headerstruct 836075987
-documenttype[].bodystruct -389494616
+documenttype[].bodystruct 0
documenttype[].inherits[].id 8
documenttype[].datatype[].id 1091188812
documenttype[].datatype[].type STRUCT
@@ -47,27 +47,12 @@ documenttype[].datatype[].sstruct.field[].name "weight"
documenttype[].datatype[].sstruct.field[].id 1001392207
documenttype[].datatype[].sstruct.field[].datatype 1
documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].id -389494616
-documenttype[].datatype[].type STRUCT
-documenttype[].datatype[].array.element.id 0
-documenttype[].datatype[].map.key.id 0
-documenttype[].datatype[].map.value.id 0
-documenttype[].datatype[].wset.key.id 0
-documenttype[].datatype[].wset.createifnonexistent false
-documenttype[].datatype[].wset.removeifzero false
-documenttype[].datatype[].annotationref.annotation.id 0
-documenttype[].datatype[].sstruct.name "parent.body"
-documenttype[].datatype[].sstruct.version 0
-documenttype[].datatype[].sstruct.compression.type NONE
-documenttype[].datatype[].sstruct.compression.level 0
-documenttype[].datatype[].sstruct.compression.threshold 95
-documenttype[].datatype[].sstruct.compression.minsize 200
documenttype[].fieldsets{[]}.fields[] "weight_src"
documenttype[].id 746267614
documenttype[].name "child"
documenttype[].version 0
documenttype[].headerstruct 81425825
-documenttype[].bodystruct -126593034
+documenttype[].bodystruct 0
documenttype[].inherits[].id 8
documenttype[].inherits[].id 1175161836
documenttype[].datatype[].id 81425825
@@ -89,20 +74,5 @@ documenttype[].datatype[].sstruct.field[].name "child_field"
documenttype[].datatype[].sstruct.field[].id 1814271363
documenttype[].datatype[].sstruct.field[].datatype 1091188812
documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].id -126593034
-documenttype[].datatype[].type STRUCT
-documenttype[].datatype[].array.element.id 0
-documenttype[].datatype[].map.key.id 0
-documenttype[].datatype[].map.value.id 0
-documenttype[].datatype[].wset.key.id 0
-documenttype[].datatype[].wset.createifnonexistent false
-documenttype[].datatype[].wset.removeifzero false
-documenttype[].datatype[].annotationref.annotation.id 0
-documenttype[].datatype[].sstruct.name "child.body"
-documenttype[].datatype[].sstruct.version 0
-documenttype[].datatype[].sstruct.compression.type NONE
-documenttype[].datatype[].sstruct.compression.level 0
-documenttype[].datatype[].sstruct.compression.threshold 95
-documenttype[].datatype[].sstruct.compression.minsize 200
documenttype[].fieldsets{[]}.fields[] "child_field"
documenttype[].fieldsets{[]}.fields[] "weight_src"
diff --git a/config-model/src/test/derived/mail/documentmanager.cfg b/config-model/src/test/derived/mail/documentmanager.cfg
index 2fa9e5923c9..baf122d0241 100644
--- a/config-model/src/test/derived/mail/documentmanager.cfg
+++ b/config-model/src/test/derived/mail/documentmanager.cfg
@@ -37,15 +37,6 @@ datatype[].structtype[].field[].name "subject"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "snippet"
datatype[].structtype[].field[].datatype 2
-datatype[].id -1206550296
-datatype[].arraytype[].datatype 12
-datatype[].id -953584901
-datatype[].structtype[].name "mail.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "body"
datatype[].structtype[].field[].datatype 12
datatype[].structtype[].field[].name "attachmentcount"
@@ -60,13 +51,15 @@ datatype[].structtype[].field[].name "attachmentcontent"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "attachments"
datatype[].structtype[].field[].datatype -1206550296
+datatype[].id -1206550296
+datatype[].arraytype[].datatype 12
datatype[].id -1081574983
datatype[].documenttype[].name "mail"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -88808602
-datatype[].documenttype[].bodystruct -953584901
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{sender}.fields[] "from"
datatype[].documenttype[].fieldsets{address}.fields[] "cc"
datatype[].documenttype[].fieldsets{address}.fields[] "from"
diff --git a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
index 060510c3578..9ab2da3f686 100644
--- a/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/documentmanager.cfg
@@ -34,20 +34,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "indexfield2"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -480519133
-datatype[].structtype[].name "prefixexactattribute.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -1812793455
datatype[].documenttype[].name "prefixexactattribute"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -739138930
-datatype[].documenttype[].bodystruct -480519133
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "attributefield1"
datatype[].documenttype[].fieldsets{[document]}.fields[] "attributefield2"
datatype[].documenttype[].fieldsets{[document]}.fields[] "indexfield0"
diff --git a/config-model/src/test/derived/ranktypes/documentmanager.cfg b/config-model/src/test/derived/ranktypes/documentmanager.cfg
index 072a0fff126..a8bb9e904dc 100644
--- a/config-model/src/test/derived/ranktypes/documentmanager.cfg
+++ b/config-model/src/test/derived/ranktypes/documentmanager.cfg
@@ -34,20 +34,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "identity_literal"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id 1374506021
-datatype[].structtype[].name "ranktypes.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -883421617
datatype[].documenttype[].name "ranktypes"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -471393776
-datatype[].documenttype[].bodystruct 1374506021
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "descr"
datatype[].documenttype[].fieldsets{[document]}.fields[] "identity"
datatype[].documenttype[].fieldsets{[document]}.fields[] "keywords"
diff --git a/config-model/src/test/derived/streamingstruct/documentmanager.cfg b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
index 2cd35c7bdfa..63001ea38ca 100644
--- a/config-model/src/test/derived/streamingstruct/documentmanager.cfg
+++ b/config-model/src/test/derived/streamingstruct/documentmanager.cfg
@@ -119,20 +119,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "snippet2"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].detailedtype ""
-datatype[].id 1858438651
-datatype[].structtype[].name "streamingstruct.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1433175737
datatype[].documenttype[].name "streamingstruct"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 731395686
-datatype[].documenttype[].bodystruct 1858438651
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "a"
datatype[].documenttype[].fieldsets{[document]}.fields[] "array1"
datatype[].documenttype[].fieldsets{[document]}.fields[] "array2"
diff --git a/config-model/src/test/derived/structanyorder/documentmanager.cfg b/config-model/src/test/derived/structanyorder/documentmanager.cfg
index c18b1cc11b0..3ffc2f22a9b 100644
--- a/config-model/src/test/derived/structanyorder/documentmanager.cfg
+++ b/config-model/src/test/derived/structanyorder/documentmanager.cfg
@@ -69,20 +69,13 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "structarrayfield"
datatype[].structtype[].field[].datatype -1244829667
datatype[].structtype[].field[].detailedtype ""
-datatype[].id -1503592268
-datatype[].structtype[].name "annotationsimplicitstruct.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id -2099544992
datatype[].documenttype[].name "annotationsimplicitstruct"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct -364910881
-datatype[].documenttype[].bodystruct -1503592268
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "structarrayfield"
datatype[].documenttype[].fieldsets{[document]}.fields[] "structfield"
annotationtype[].id -269517759
diff --git a/config-model/src/test/derived/tensor/documenttypes.cfg b/config-model/src/test/derived/tensor/documenttypes.cfg
index bbf9759659b..acf5c7ed12f 100644
--- a/config-model/src/test/derived/tensor/documenttypes.cfg
+++ b/config-model/src/test/derived/tensor/documenttypes.cfg
@@ -3,7 +3,7 @@ documenttype[].id -1290043429
documenttype[].name "tensor"
documenttype[].version 0
documenttype[].headerstruct 2125927172
-documenttype[].bodystruct -1903234535
+documenttype[].bodystruct 0
documenttype[].inherits[].id 8
documenttype[].datatype[].id 2125927172
documenttype[].datatype[].type STRUCT
@@ -44,21 +44,6 @@ documenttype[].datatype[].sstruct.field[].name "f6"
documenttype[].datatype[].sstruct.field[].id 596352344
documenttype[].datatype[].sstruct.field[].datatype 1
documenttype[].datatype[].sstruct.field[].detailedtype ""
-documenttype[].datatype[].id -1903234535
-documenttype[].datatype[].type STRUCT
-documenttype[].datatype[].array.element.id 0
-documenttype[].datatype[].map.key.id 0
-documenttype[].datatype[].map.value.id 0
-documenttype[].datatype[].wset.key.id 0
-documenttype[].datatype[].wset.createifnonexistent false
-documenttype[].datatype[].wset.removeifzero false
-documenttype[].datatype[].annotationref.annotation.id 0
-documenttype[].datatype[].sstruct.name "tensor.body"
-documenttype[].datatype[].sstruct.version 0
-documenttype[].datatype[].sstruct.compression.type NONE
-documenttype[].datatype[].sstruct.compression.level 0
-documenttype[].datatype[].sstruct.compression.threshold 95
-documenttype[].datatype[].sstruct.compression.minsize 200
documenttype[].fieldsets{[document]}.fields[] "f1"
documenttype[].fieldsets{[document]}.fields[] "f2"
documenttype[].fieldsets{[document]}.fields[] "f3"
diff --git a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
index bb5bb001036..19d00483a5a 100644
--- a/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
+++ b/config-model/src/test/derived/twostreamingstructs/documentmanager.cfg
@@ -90,20 +90,13 @@ datatype[].structtype[].field[].name "snippet"
datatype[].structtype[].field[].datatype 2
datatype[].structtype[].field[].name "snippet2"
datatype[].structtype[].field[].datatype 2
-datatype[].id 1858438651
-datatype[].structtype[].name "streamingstruct.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].id 1433175737
datatype[].documenttype[].name "streamingstruct"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 731395686
-datatype[].documenttype[].bodystruct 1858438651
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "a"
datatype[].documenttype[].fieldsets{[document]}.fields[] "array1"
datatype[].documenttype[].fieldsets{[document]}.fields[] "array2"
@@ -139,13 +132,6 @@ datatype[].structtype[].compresstype NONE
datatype[].structtype[].compresslevel 0
datatype[].structtype[].compressthreshold 95
datatype[].structtype[].compressminsize 800
-datatype[].id -1417926544
-datatype[].structtype[].name "whatever.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
datatype[].structtype[].field[].name "f1"
datatype[].structtype[].field[].datatype -995681764
datatype[].id -778211548
@@ -154,5 +140,5 @@ datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 355471259
-datatype[].documenttype[].bodystruct -1417926544
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "f1"
diff --git a/config-model/src/test/derived/types/documentmanager.cfg b/config-model/src/test/derived/types/documentmanager.cfg
index a4fcd4f49f6..9556f77f6d9 100644
--- a/config-model/src/test/derived/types/documentmanager.cfg
+++ b/config-model/src/test/derived/types/documentmanager.cfg
@@ -209,28 +209,21 @@ datatype[].structtype[].field[].detailedtype ""
datatype[].structtype[].field[].name "other"
datatype[].structtype[].field[].datatype 4
datatype[].structtype[].field[].detailedtype ""
+datatype[].structtype[].field[].name "complexarray"
+datatype[].structtype[].field[].datatype 1416345047
+datatype[].structtype[].field[].detailedtype ""
datatype[].id -372512406
datatype[].maptype[].keytype 0
datatype[].maptype[].valtype 1707615575
datatype[].id 1416345047
datatype[].arraytype[].datatype -372512406
-datatype[].id 348447225
-datatype[].structtype[].name "types.body"
-datatype[].structtype[].version 0
-datatype[].structtype[].compresstype NONE
-datatype[].structtype[].compresslevel 0
-datatype[].structtype[].compressthreshold 95
-datatype[].structtype[].compressminsize 800
-datatype[].structtype[].field[].name "complexarray"
-datatype[].structtype[].field[].datatype 1416345047
-datatype[].structtype[].field[].detailedtype ""
datatype[].id -853072901
datatype[].documenttype[].name "types"
datatype[].documenttype[].version 0
datatype[].documenttype[].inherits[].name "document"
datatype[].documenttype[].inherits[].version 0
datatype[].documenttype[].headerstruct 1328581348
-datatype[].documenttype[].bodystruct 348447225
+datatype[].documenttype[].bodystruct 0
datatype[].documenttype[].fieldsets{[document]}.fields[] "Folders"
datatype[].documenttype[].fieldsets{[document]}.fields[] "abool"
datatype[].documenttype[].fieldsets{[document]}.fields[] "abyte"
diff --git a/config-model/src/test/examples/fieldoftypedocument.cfg b/config-model/src/test/examples/fieldoftypedocument.cfg
index b7bb444ec93..8074d86b45f 100644
--- a/config-model/src/test/examples/fieldoftypedocument.cfg
+++ b/config-model/src/test/examples/fieldoftypedocument.cfg
@@ -22,51 +22,37 @@ datatype[1].structtype[0].compressminsize 800
datatype[1].structtype[0].field[0].name "soundtrack"
datatype[1].structtype[0].field[0].datatype 1412693671
datatype[1].structtype[0].field[0].detailedtype ""
-datatype[2].id -820813431
-datatype[2].structtype[0].name "book.body"
-datatype[2].structtype[0].version 0
-datatype[2].structtype[0].compresstype NONE
-datatype[2].structtype[0].compresslevel 0
-datatype[2].structtype[0].compressthreshold 95
-datatype[2].structtype[0].compressminsize 800
-datatype[3].id -1383388565
-datatype[3].documenttype[0].name "book"
-datatype[3].documenttype[0].version 0
-datatype[3].documenttype[0].inherits[0].name "document"
-datatype[3].documenttype[0].inherits[0].version 0
-datatype[3].documenttype[0].headerstruct -1344444812
-datatype[3].documenttype[0].bodystruct -820813431
-datatype[3].documenttype[0].fieldsets{[document]}.fields[0] "soundtrack"
-datatype[4].id -1910204744
-datatype[4].structtype[0].name "music.header"
-datatype[4].structtype[0].version 0
-datatype[4].structtype[0].compresstype NONE
-datatype[4].structtype[0].compresslevel 0
-datatype[4].structtype[0].compressthreshold 95
-datatype[4].structtype[0].compressminsize 800
-datatype[4].structtype[0].field[0].name "intfield"
-datatype[4].structtype[0].field[0].datatype 0
-datatype[4].structtype[0].field[0].detailedtype ""
-datatype[4].structtype[0].field[1].name "stringfield"
-datatype[4].structtype[0].field[1].datatype 2
-datatype[4].structtype[0].field[1].detailedtype ""
-datatype[4].structtype[0].field[2].name "longfield"
-datatype[4].structtype[0].field[2].datatype 4
-datatype[4].structtype[0].field[2].detailedtype ""
-datatype[5].id 993120973
-datatype[5].structtype[0].name "music.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id 1412693671
-datatype[6].documenttype[0].name "music"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0].name "document"
-datatype[6].documenttype[0].inherits[0].version 0
-datatype[6].documenttype[0].headerstruct -1910204744
-datatype[6].documenttype[0].bodystruct 993120973
-datatype[6].documenttype[0].fieldsets{[document]}.fields[0] "intfield"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[1] "longfield"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[2] "stringfield"
+datatype[2].id -1383388565
+datatype[2].documenttype[0].name "book"
+datatype[2].documenttype[0].version 0
+datatype[2].documenttype[0].inherits[0].name "document"
+datatype[2].documenttype[0].inherits[0].version 0
+datatype[2].documenttype[0].headerstruct -1344444812
+datatype[2].documenttype[0].bodystruct 0
+datatype[2].documenttype[0].fieldsets{[document]}.fields[0] "soundtrack"
+datatype[3].id -1910204744
+datatype[3].structtype[0].name "music.header"
+datatype[3].structtype[0].version 0
+datatype[3].structtype[0].compresstype NONE
+datatype[3].structtype[0].compresslevel 0
+datatype[3].structtype[0].compressthreshold 95
+datatype[3].structtype[0].compressminsize 800
+datatype[3].structtype[0].field[0].name "intfield"
+datatype[3].structtype[0].field[0].datatype 0
+datatype[3].structtype[0].field[0].detailedtype ""
+datatype[3].structtype[0].field[1].name "stringfield"
+datatype[3].structtype[0].field[1].datatype 2
+datatype[3].structtype[0].field[1].detailedtype ""
+datatype[3].structtype[0].field[2].name "longfield"
+datatype[3].structtype[0].field[2].datatype 4
+datatype[3].structtype[0].field[2].detailedtype ""
+datatype[4].id 1412693671
+datatype[4].documenttype[0].name "music"
+datatype[4].documenttype[0].version 0
+datatype[4].documenttype[0].inherits[0].name "document"
+datatype[4].documenttype[0].inherits[0].version 0
+datatype[4].documenttype[0].headerstruct -1910204744
+datatype[4].documenttype[0].bodystruct 0
+datatype[4].documenttype[0].fieldsets{[document]}.fields[0] "intfield"
+datatype[4].documenttype[0].fieldsets{[document]}.fields[1] "longfield"
+datatype[4].documenttype[0].fieldsets{[document]}.fields[2] "stringfield"
diff --git a/config-model/src/test/examples/structresult.cfg b/config-model/src/test/examples/structresult.cfg
index eff48f18914..ceaad2e6584 100755
--- a/config-model/src/test/examples/structresult.cfg
+++ b/config-model/src/test/examples/structresult.cfg
@@ -54,20 +54,13 @@ datatype[4].structtype[0].field[1].detailedtype ""
datatype[4].structtype[0].field[2].name "advanced"
datatype[4].structtype[0].field[2].datatype 93505813
datatype[4].structtype[0].field[2].detailedtype ""
-datatype[5].id 993120973
-datatype[5].structtype[0].name "music.body"
-datatype[5].structtype[0].version 0
-datatype[5].structtype[0].compresstype NONE
-datatype[5].structtype[0].compresslevel 0
-datatype[5].structtype[0].compressthreshold 95
-datatype[5].structtype[0].compressminsize 800
-datatype[6].id 1412693671
-datatype[6].documenttype[0].name "music"
-datatype[6].documenttype[0].version 0
-datatype[6].documenttype[0].inherits[0].name "document"
-datatype[6].documenttype[0].inherits[0].version 0
-datatype[6].documenttype[0].headerstruct -1910204744
-datatype[6].documenttype[0].bodystruct 993120973
-datatype[6].documenttype[0].fieldsets{[document]}.fields[0] "advanced"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[1] "arraystruct"
-datatype[6].documenttype[0].fieldsets{[document]}.fields[2] "mystruct"
+datatype[5].id 1412693671
+datatype[5].documenttype[0].name "music"
+datatype[5].documenttype[0].version 0
+datatype[5].documenttype[0].inherits[0].name "document"
+datatype[5].documenttype[0].inherits[0].version 0
+datatype[5].documenttype[0].headerstruct -1910204744
+datatype[5].documenttype[0].bodystruct 0
+datatype[5].documenttype[0].fieldsets{[document]}.fields[0] "advanced"
+datatype[5].documenttype[0].fieldsets{[document]}.fields[1] "arraystruct"
+datatype[5].documenttype[0].fieldsets{[document]}.fields[2] "mystruct"
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/InheritanceTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/InheritanceTestCase.java
index 02233608eea..1b51fd354f3 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/InheritanceTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/InheritanceTestCase.java
@@ -22,6 +22,7 @@ import org.junit.rules.TemporaryFolder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
/**
* Tests inheritance
@@ -68,8 +69,8 @@ public class InheritanceTestCase extends AbstractExportingTestCase {
DocumentmanagerConfig.Builder b = new DocumentmanagerConfig.Builder();
DerivedConfiguration.exportDocuments(new DocumentManager().produce(builder.getModel(), b), outDir.getPath());
DocumentmanagerConfig dc = b.build();
- assertEquals(17, dc.datatype().size());
- assertNotNull(structType("child.body", dc));
+ assertEquals(13, dc.datatype().size());
+ assertNull(structType("child.body", dc));
DocumentmanagerConfig.Datatype.Structtype childHeader = structType("child.header", dc);
assertEquals(childHeader.field(0).name(), "foo");
assertEquals(childHeader.field(1).name(), "bar");
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/DocumentTypeChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/DocumentTypeChangeValidatorTest.java
index 3dfcef70aba..4bba66f0fb3 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/DocumentTypeChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/DocumentTypeChangeValidatorTest.java
@@ -201,7 +201,6 @@ public class DocumentTypeChangeValidatorTest {
return new NewDocumentType(
new NewDocumentType.Name("mydoc"),
headerfields,
- new StructDataType("bodyfields"),
new FieldSets(),
Collections.emptySet(),
Collections.emptySet());