diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-03-11 13:28:14 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-03-11 13:30:49 +0000 |
commit | ba2758ab815ebe7ab2fa9b702b3ace7d5c0fd0d7 (patch) | |
tree | 98a0520b74359f7cc48c617ed317d8680177a2c5 /config-model/src/main/java/com/yahoo/searchdefinition/parser | |
parent | 9976089dd3ea2516425cf24677ff693f29ba3e8c (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.java | 8 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertSchemaCollection.java | 4 |
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()); } |