diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-09-27 12:41:17 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-09-27 12:41:17 +0200 |
commit | d8d80bebaf94161b886e2700cb960065ee283772 (patch) | |
tree | 171d697cdb31b455ff6e19c07b84fb3f8efa535a /config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java | |
parent | 844ed003049e34eff81ca0631376e6db3fd51e66 (diff) |
Split the field types validation into a partial and a full, where the partial one can be run early.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java index 21b7f1d2675..1cf3d61d8f1 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ValidateFieldTypes.java @@ -29,16 +29,24 @@ public class ValidateFieldTypes extends Processor { @Override public void process(boolean validate, boolean documentsOnly) { - if ( ! validate) return; + if (!validate) return; String searchName = search.getName(); Map<String, DataType> seenFields = new HashMap<>(); + verifySearchAndDocFields(searchName, seenFields); + verifySummaryFields(searchName, seenFields); + } + + final protected void verifySearchAndDocFields(String searchName, Map<String, DataType> seenFields) { search.allFields().forEach(field -> { checkFieldType(searchName, "index field", field.getName(), field.getDataType(), seenFields); for (Map.Entry<String, Attribute> entry : field.getAttributes().entrySet()) { checkFieldType(searchName, "attribute", entry.getKey(), entry.getValue().getDataType(), seenFields); } }); + + } + final protected void verifySummaryFields(String searchName, Map<String, DataType> seenFields) { for (DocumentSummary summary : search.getSummaries().values()) { for (SummaryField field : summary.getSummaryFields()) { checkFieldType(searchName, "summary field", field.getName(), field.getDataType(), seenFields); |