summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/parser
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-11 13:28:14 +0000
committerArne H Juul <arnej@yahooinc.com>2022-03-11 13:30:49 +0000
commitba2758ab815ebe7ab2fa9b702b3ace7d5c0fd0d7 (patch)
tree98a0520b74359f7cc48c617ed317d8680177a2c5 /config-model/src/main/java/com/yahoo/searchdefinition/parser
parent9976089dd3ea2516425cf24677ff693f29ba3e8c (diff)
connect SDField to "repo"
* when creating SDField inside a struct, it needs connection to the "repo" (SDDocument) for lookup of other types. The StructProxy would be the "owner" here, and is not necessary.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/parser')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedFields.java8
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertSchemaCollection.java4
2 files changed, 6 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedFields.java
index 36c11b33b23..caeebd65f4f 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedFields.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedFields.java
@@ -291,13 +291,12 @@ public class ConvertParsedFields {
schema.addIndex(index);
}
- SDDocumentType convertStructDeclaration(Schema schema, ParsedStruct parsed) {
+ SDDocumentType convertStructDeclaration(Schema schema, SDDocumentType document, ParsedStruct parsed) {
// TODO - can we cleanup this mess
var structProxy = new SDDocumentType(parsed.name(), schema);
- structProxy.setStruct(context.resolveStruct(parsed));
for (var parsedField : parsed.getFields()) {
var fieldType = context.resolveType(parsedField.getType());
- var field = new SDField(structProxy, parsedField.name(), fieldType);
+ var field = new SDField(document, parsedField.name(), fieldType);
convertCommonFieldSettings(field, parsedField);
structProxy.addField(field);
if (parsedField.hasIdOverride()) {
@@ -307,6 +306,7 @@ public class ConvertParsedFields {
for (String inherit : parsed.getInherited()) {
structProxy.inherit(new DataTypeName(inherit));
}
+ structProxy.setStruct(context.resolveStruct(parsed));
return structProxy;
}
@@ -314,7 +314,7 @@ public class ConvertParsedFields {
var annType = context.resolveAnnotation(parsed.name());
var payload = parsed.getStruct();
if (payload.isPresent()) {
- var structProxy = convertStructDeclaration(schema, payload.get());
+ var structProxy = convertStructDeclaration(schema, document, payload.get());
document.addType(structProxy);
}
document.addAnnotation(annType);
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertSchemaCollection.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertSchemaCollection.java
index 67e6c88d043..99614227714 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertSchemaCollection.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertSchemaCollection.java
@@ -159,7 +159,7 @@ public class ConvertSchemaCollection {
document.inherit(parent);
}
for (var struct : parsed.getStructs()) {
- var structProxy = fieldConverter.convertStructDeclaration(schema, struct);
+ var structProxy = fieldConverter.convertStructDeclaration(schema, document, struct);
document.addType(structProxy);
}
for (var annotation : parsed.getAnnotations()) {
@@ -221,7 +221,7 @@ public class ConvertSchemaCollection {
}
if (parsed.getMatchSettings().isPresent()) {
// same ugliness as SDParser.jj used to have:
- var tmp = new SDField(setName, DataType.STRING);
+ var tmp = new SDField(null, setName, DataType.STRING);
ConvertParsedFields.convertMatchSettings(tmp, parsed.matchSettings());
schema.fieldSets().userFieldSets().get(setName).setMatching(tmp.getMatching());
}