summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/parser
diff options
context:
space:
mode:
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.java13
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java4
2 files changed, 12 insertions, 5 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 caeebd65f4f..b20ec6f6d6d 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
@@ -15,6 +15,7 @@ import com.yahoo.searchdefinition.document.RankType;
import com.yahoo.searchdefinition.document.SDDocumentType;
import com.yahoo.searchdefinition.document.SDField;
import com.yahoo.searchdefinition.document.Sorting;
+import com.yahoo.searchdefinition.document.annotation.SDAnnotationType;
import com.yahoo.vespa.documentmodel.SummaryField;
import com.yahoo.vespa.documentmodel.SummaryTransform;
@@ -311,11 +312,13 @@ public class ConvertParsedFields {
}
void convertAnnotation(Schema schema, SDDocumentType document, ParsedAnnotation parsed) {
- var annType = context.resolveAnnotation(parsed.name());
- var payload = parsed.getStruct();
- if (payload.isPresent()) {
- var structProxy = convertStructDeclaration(schema, document, payload.get());
- document.addType(structProxy);
+ SDAnnotationType annType = context.resolveAnnotation(parsed.name());
+ var withStruct = parsed.getStruct();
+ if (withStruct.isPresent()) {
+ ParsedStruct parsedStruct = withStruct.get();
+ SDDocumentType structProxy = convertStructDeclaration(schema, document, parsedStruct);
+ structProxy.setStruct(context.resolveStruct(parsedStruct));
+ annType.setSdDocType(structProxy);
}
document.addAnnotation(annType);
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java
index 80d37423fc5..ed20bc0a94d 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java
@@ -104,6 +104,10 @@ public class ConvertParsedTypes {
for (var schema : orderedInput) {
var doc = schema.getDocument();
for (var annotation : doc.getAnnotations()) {
+ var at = findAnnotationFromParsed(annotation);
+ for (var parent : annotation.getResolvedInherits()) {
+ at.inherit(findAnnotationFromParsed(parent));
+ }
fillAnnotationStruct(annotation);
}
for (var struct : doc.getStructs()) {