summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-07 13:24:08 +0000
committerArne H Juul <arnej@yahooinc.com>2022-03-07 13:34:21 +0000
commit343ec9de039f2da9f29a93b658e5b69b6bc859e6 (patch)
tree7228634e5a028d56c5055547bc63e7293250a3e0 /config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java
parenta1099560e37f44a184d102e5dc6a927910777fe0 (diff)
resolve document references also
* we need to check for cycles with both inheritance and document references * also, allow different names schema / document
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java
index a381d7c2745..0004094e1c2 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedSchema.java
@@ -82,8 +82,9 @@ public class ParsedSchema extends ParsedBlock {
void addDocument(ParsedDocument document) {
verifyThat(myDocument == null,
"already has", myDocument, "so cannot add", document);
- verifyThat(name().equals(document.name()),
- "schema " + name() + " can only contain document named " + name() + ", was: "+ document.name());
+ // TODO - disallow?
+ // verifyThat(name().equals(document.name()),
+ // "schema " + name() + " can only contain document named " + name() + ", was: "+ document.name());
this.myDocument = document;
}
@@ -156,16 +157,15 @@ public class ParsedSchema extends ParsedBlock {
verifyThat(name.equals(parsed.name()), "resolveInherit name mismatch for", name);
verifyThat(! resolvedInherits.containsKey(name), "double resolveInherit for", name);
resolvedInherits.put(name, parsed);
- var old = allResolvedInherits.put(name, parsed);
+ var old = allResolvedInherits.put("schema " + name, parsed);
verifyThat(old == null || old == parsed, "conflicting resolveInherit for", name);
}
void resolveInheritByDocument(String name, ParsedSchema parsed) {
verifyThat(inheritedByDocument.contains(name),
"resolveInheritByDocument for non-inherited name", name);
- verifyThat(name.equals(parsed.name()), "resolveInheritByDocument name mismatch for", name);
- var old = allResolvedInherits.put(name, parsed);
- verifyThat(old == null || old == parsed, "conflicting resolveInherit for", name);
+ var old = allResolvedInherits.put("document " + name, parsed);
+ verifyThat(old == null || old == parsed, "conflicting resolveInheritByDocument for", name);
}
}