diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-12-10 11:05:54 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-12-13 13:12:21 +0000 |
commit | 7187dafb2b9fadc11f49844b637723df36aa3e3e (patch) | |
tree | 0e282cc87ed8a9cb624faf6e2d54c3fee195aedf /config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java | |
parent | 82397b67bcbe865283cece305037577294a86fa2 (diff) |
try to make simple struct inherit work
* inheritance was just lost in conversion
* with unit test
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java | 7 |
1 files changed, 7 insertions, 0 deletions
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 70f3403520b..55f24123940 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java @@ -390,6 +390,13 @@ public class DocumentModelBuilder { throw new IllegalArgumentException("Data type '" + sdoc.getName() + "' is not a struct => tostring='" + sdoc.toString() + "'."); } } + for (SDDocumentType type : sdoc.getTypes()) { + for (SDDocumentType proxy : type.getInheritedTypes()) { + var inherited = dt.getDataTypeRecursive(proxy.getName()); + var converted = (StructDataType) dt.getDataType(type.getName()); + converted.inherit((StructDataType) inherited); + } + } for (AnnotationType annotation : sdoc.getAnnotations().values()) { dt.add(annotation); } |