summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-06-17 06:52:03 +0000
committerArne H Juul <arnej@yahooinc.com>2022-06-17 06:57:45 +0000
commit2f87b5f065f79dc742f7221234b0081600aa97f1 (patch)
tree4f7ea3e469f3517b011e31d7e3c1ffb313a6419e /config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java
parenta90639a4c194cbf486d20eba8969340a4ce461ad (diff)
remove TemporarySDDocumentType
* track converted structs as we make them * inherit directly instead of by name * remove code to deal with the no-longer-needed temporaries
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java b/config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java
index 3008dac4f29..443dfb1602d 100644
--- a/config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java
+++ b/config-model/src/main/java/com/yahoo/schema/parser/ConvertParsedFields.java
@@ -20,6 +20,7 @@ import com.yahoo.vespa.documentmodel.SummaryField;
import com.yahoo.vespa.documentmodel.SummaryTransform;
import java.util.Locale;
+import java.util.Map;
/**
* Helper for converting ParsedField etc to SDField with settings
@@ -29,9 +30,11 @@ import java.util.Locale;
public class ConvertParsedFields {
private final TypeResolver context;
+ private final Map<String, SDDocumentType> structProxies;
- ConvertParsedFields(TypeResolver context) {
+ ConvertParsedFields(TypeResolver context, Map<String, SDDocumentType> structProxies) {
this.context = context;
+ this.structProxies = structProxies;
}
static void convertMatchSettings(SDField field, ParsedMatchSettings parsed) {
@@ -309,10 +312,11 @@ public class ConvertParsedFields {
structProxy.setFieldId(field, parsedField.idOverride());
}
}
- for (String inherit : parsed.getInherited()) {
- structProxy.inherit(new DataTypeName(inherit));
+ for (var inherit: parsed.getResolvedInherits()) {
+ structProxy.inherit(structProxies.get(inherit.getFullName()));
}
structProxy.setStruct(context.resolveStruct(parsed));
+ structProxies.put(parsed.getFullName(), structProxy);
return structProxy;
}