aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-24 12:37:23 +0000
committerArne H Juul <arnej@yahooinc.com>2022-04-07 14:01:28 +0000
commit1d04fdd423900847ddfc22f2a0f50134b5ea47d7 (patch)
tree59476600f913298cfe6d88f8ff901553125aad8e /config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java
parentd9d1a19fabc5631419973868733fce51fab5421c (diff)
allow duplicate struct names (in different document types)
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java18
1 files changed, 4 insertions, 14 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java
index e4d03a3f471..9c2d29282ae 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedSchemas.java
@@ -108,25 +108,15 @@ public class ConvertParsedSchemas {
ConvertParsedFields fieldConverter)
{
SDDocumentType document = new SDDocumentType(parsed.name());
+ for (var struct : parsed.getStructs()) {
+ var structProxy = fieldConverter.convertStructDeclaration(schema, document, struct);
+ document.addType(structProxy);
+ }
for (String inherit : parsed.getInherited()) {
var parent = convertedDocuments.get(inherit);
assert(parent != null);
document.inherit(parent);
}
- for (var struct : parsed.getStructs()) {
- var structProxy = fieldConverter.convertStructDeclaration(schema, document, struct);
- var old = document.getType(struct.name());
- if (old == null) {
- document.addType(structProxy);
- } else {
- var oldFields = old.fieldSet();
- var newFields = structProxy.fieldSet();
- if (! newFields.equals(oldFields)) {
- throw new IllegalArgumentException("Cannot modify already-existing struct: " + struct.name());
- }
- deployLogger.logApplicationPackage(Level.WARNING, "Duplicate struct declaration for: " + struct.name());
- }
- }
for (var annotation : parsed.getAnnotations()) {
fieldConverter.convertAnnotation(schema, document, annotation);
}