diff options
Diffstat (limited to 'config-model/src/main')
-rw-r--r-- | config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java | 16 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java | 13 |
2 files changed, 11 insertions, 18 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 4ff54d7ff1c..d98869e9dd3 100644 --- a/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java +++ b/config-model/src/main/java/com/yahoo/documentmodel/NewDocumentType.java @@ -4,10 +4,8 @@ package com.yahoo.documentmodel; import com.yahoo.document.DataType; import com.yahoo.document.Document; import com.yahoo.document.Field; -import com.yahoo.document.ReferenceDataType; import com.yahoo.document.StructDataType; import com.yahoo.document.StructuredDataType; -import com.yahoo.document.TemporaryStructuredDataType; import com.yahoo.document.annotation.AnnotationType; import com.yahoo.document.annotation.AnnotationTypeRegistry; import com.yahoo.document.datatypes.FieldValue; @@ -385,18 +383,4 @@ public final class NewDocumentType extends StructuredDataType implements DataTyp } - private ReferenceDataType refToThis = null; - - @SuppressWarnings("deprecation") - public ReferenceDataType getReferenceDataType() { - if (refToThis == null) { - // super ugly, the APIs for this are horribly inconsistent - var tmptmp = TemporaryStructuredDataType.create(getName()); - var tmp = ReferenceDataType.createWithInferredId(tmptmp); - tmp.setTargetType((StructuredDataType) this); - refToThis = tmp; - } - return refToThis; - } - } 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 2d9c81085fe..4a449dc898f 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentModelBuilder.java @@ -292,8 +292,17 @@ public class DocumentModelBuilder { else if (type instanceof ReferenceDataType) { ReferenceDataType t = (ReferenceDataType) type; var tt = t.getTargetType(); - var doc = getDocumentType(docs, tt.getId()); - type = doc.getReferenceDataType(); + if (tt instanceof TemporaryStructuredDataType) { + DataType targetType = resolveTemporariesRecurse(tt, repo, docs, replacements); + t.setTargetType((StructuredDataType) targetType); + } else if (tt instanceof DocumentType) { + DataType targetType = resolveTemporariesRecurse(tt, repo, docs, replacements); + // super ugly, the APIs for this are horribly inconsistent + var tmptmp = TemporaryStructuredDataType.create(tt.getName()); + var tmp = new ReferenceDataType(tmptmp, t.getId()); + tmp.setTargetType((StructuredDataType) targetType); + type = tmp; + } } if (type != original) { replacements.add(new TypeReplacement(original, type)); |