summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-03-07 10:21:23 +0000
committerArne H Juul <arnej@yahooinc.com>2022-03-07 13:34:21 +0000
commita1099560e37f44a184d102e5dc6a927910777fe0 (patch)
treea9db83c40902cca864fb66e87b3406924c2fcea7 /config-model
parentdb1e07251acfed5eee8e4a073a1c40afb9ce3d6b (diff)
allow duplicates in document-summary (with warning)
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedDocumentSummary.java7
-rw-r--r--config-model/src/main/javacc/IntermediateParser.jj7
2 files changed, 10 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedDocumentSummary.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedDocumentSummary.java
index 08f4946a218..25adc6f134f 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedDocumentSummary.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ParsedDocumentSummary.java
@@ -28,10 +28,11 @@ class ParsedDocumentSummary extends ParsedBlock {
List<ParsedSummaryField> getSummaryFields() { return List.copyOf(fields.values()); }
List<String> getInherited() { return List.copyOf(inherited); }
- void addField(ParsedSummaryField field) {
+ ParsedSummaryField addField(ParsedSummaryField field) {
String fieldName = field.name();
- verifyThat(! fields.containsKey(fieldName), "already has field", fieldName);
- fields.put(fieldName, field);
+ // TODO disallow this on Vespa 8
+ // verifyThat(! fields.containsKey(fieldName), "already has field", fieldName);
+ return fields.put(fieldName, field);
}
void setFromDisk(boolean value) {
diff --git a/config-model/src/main/javacc/IntermediateParser.jj b/config-model/src/main/javacc/IntermediateParser.jj
index b57719ec72d..7447eee5cec 100644
--- a/config-model/src/main/javacc/IntermediateParser.jj
+++ b/config-model/src/main/javacc/IntermediateParser.jj
@@ -1161,7 +1161,12 @@ void summaryInDocument(ParsedDocumentSummary docsum) :
}
lbrace() (summaryItem(psf) (<NL>)*)* <RBRACE>
{
- docsum.addField(psf);
+ var old = docsum.addField(psf);
+ if (old != null) {
+ deployLogger.logApplicationPackage(Level.WARNING, "Summary field '" + psf.name()
+ + "' is defined twice in document-summary '"
+ + docsum.name() + "'");
+ }
}
}