diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-10-21 16:33:33 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-10-21 16:33:33 +0200 |
commit | 2f68b1b2ce21f0fb1dfe68dc2f09aa0113b7a0d8 (patch) | |
tree | 225961948f5fa0988772bdd8debcdd067246bb4f /config-model/src/main/java/com/yahoo/searchdefinition/processing | |
parent | c46b73e2271d133d096784b0ff41ac27011f70fc (diff) |
Use map to allow shadowing parent fields
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing')
9 files changed, 32 insertions, 32 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java index 9ade1786e37..57d5a9c8e75 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddExtraFieldsToDocument.java @@ -39,7 +39,7 @@ public class AddExtraFieldsToDocument extends Processor { addSdField(schema, document, field, validate); } //TODO Vespa 8 or sooner we should avoid the dirty addition of fields from dirty 'default' summary to document at all - for (SummaryField field : schema.getSummary("default").getSummaryFields()) { + for (SummaryField field : schema.getSummary("default").getSummaryFields().values()) { if (dirtyLegalFieldNameCheck(field.getName())) { addSummaryField(schema, document, field, validate); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AdjustPositionSummaryFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AdjustPositionSummaryFields.java index 176fcf2130f..983942f87c3 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AdjustPositionSummaryFields.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AdjustPositionSummaryFields.java @@ -33,26 +33,26 @@ public class AdjustPositionSummaryFields extends Processor { } private void scanSummary(DocumentSummary summary) { - for (SummaryField summaryField : summary.getSummaryFields()) { - if (isPositionDataType(summaryField.getDataType())) { - String originalSource = summaryField.getSingleSource(); - if (originalSource.indexOf('.') == -1) { // Eliminate summary fields with pos.x or pos.y as source - ImmutableSDField sourceField = schema.getField(originalSource); - if (sourceField != null) { - String zCurve = null; - if (sourceField.getDataType().equals(summaryField.getDataType())) { - zCurve = PositionDataType.getZCurveFieldName(originalSource); - } else if (sourceField.getDataType().equals(makeZCurveDataType(summaryField.getDataType())) && - hasZCurveSuffix(originalSource)) { - zCurve = originalSource; - } - if (zCurve != null) { - if (hasPositionAttribute(zCurve)) { - Source source = new Source(zCurve); - adjustPositionField(summary, summaryField, source); - } else if (sourceField.isImportedField() || !summaryField.getName().equals(originalSource)) { - fail(summaryField, "No position attribute '" + zCurve + "'"); - } + for (SummaryField summaryField : summary.getSummaryFields().values()) { + if ( ! isPositionDataType(summaryField.getDataType())) continue; + + String originalSource = summaryField.getSingleSource(); + if (originalSource.indexOf('.') == -1) { // Eliminate summary fields with pos.x or pos.y as source + ImmutableSDField sourceField = schema.getField(originalSource); + if (sourceField != null) { + String zCurve = null; + if (sourceField.getDataType().equals(summaryField.getDataType())) { + zCurve = PositionDataType.getZCurveFieldName(originalSource); + } else if (sourceField.getDataType().equals(makeZCurveDataType(summaryField.getDataType())) && + hasZCurveSuffix(originalSource)) { + zCurve = originalSource; + } + if (zCurve != null) { + if (hasPositionAttribute(zCurve)) { + Source source = new Source(zCurve); + adjustPositionField(summary, summaryField, source); + } else if (sourceField.isImportedField() || !summaryField.getName().equals(originalSource)) { + fail(summaryField, "No position attribute '" + zCurve + "'"); } } } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchedElementsOnlyResolver.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchedElementsOnlyResolver.java index 709c79cd79b..c2fe4e875b8 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchedElementsOnlyResolver.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MatchedElementsOnlyResolver.java @@ -33,8 +33,8 @@ public class MatchedElementsOnlyResolver extends Processor { public void process(boolean validate, boolean documentsOnly) { for (var entry : schema.getSummaries().entrySet()) { var summary = entry.getValue(); - for (var field : summary.getSummaryFields()) { - if (field.getTransform().equals(SummaryTransform.MATCHED_ELEMENTS_FILTER)) { + for (var field : summary.getSummaryFields().values()) { + if (field.getTransform() == SummaryTransform.MATCHED_ELEMENTS_FILTER) { processSummaryField(summary, field, validate); } } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java index ed23b1ca606..19bfb41289d 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/ReferenceFieldsProcessor.java @@ -35,7 +35,7 @@ public class ReferenceFieldsProcessor extends Processor { private void clearSummaryAttributeAspectForExplicitSummaryFields() { for (DocumentSummary docSum : schema.getSummaries().values()) { - docSum.getSummaryFields().stream() + docSum.getSummaryFields().values().stream() .filter(summaryField -> summaryField.getDataType() instanceof ReferenceDataType) .forEach(summaryField -> summaryField.setTransform(SummaryTransform.NONE)); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java index 80f9a15f1e5..8b86674e4d0 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryConsistency.java @@ -33,7 +33,7 @@ public class SummaryConsistency extends Processor { for (DocumentSummary summary : schema.getSummaries().values()) { if (summary.getName().equals("default")) continue; - for (SummaryField summaryField : summary.getSummaryFields() ) { + for (SummaryField summaryField : summary.getSummaryFields().values()) { assertConsistency(summaryField, schema, validate); makeAttributeTransformIfAppropriate(summaryField, schema); makeAttributeCombinerTransformIfAppropriate(summaryField, schema); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDiskAccessValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDiskAccessValidator.java index 4bc553b1669..6a64202686f 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDiskAccessValidator.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryDiskAccessValidator.java @@ -37,7 +37,7 @@ public class SummaryDiskAccessValidator extends Processor { if (documentsOnly) return; for (DocumentSummary summary : schema.getSummaries().values()) { - for (SummaryField summaryField : summary.getSummaryFields()) { + for (SummaryField summaryField : summary.getSummaryFields().values()) { for (SummaryField.Source source : summaryField.getSources()) { ImmutableSDField field = schema.getField(source.getName()); if (field == null) @@ -47,9 +47,9 @@ public class SummaryDiskAccessValidator extends Processor { source + ", but this field does not exist"); if ( ! isInMemory(field, summaryField) && ! summary.isFromDisk()) { deployLogger.logApplicationPackage(Level.WARNING, summaryField + " in " + summary + " references " + - source + ", which is not an attribute: Using this " + - "summary will cause disk accesses. " + - "Set 'from-disk' on this summary class to silence this warning."); + source + ", which is not an attribute: Using this " + + "summary will cause disk accesses. " + + "Set 'from-disk' on this summary class to silence this warning."); } } } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java index 2e2144b819d..c6f5b35aaa8 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryFieldsMustHaveValidSource.java @@ -26,7 +26,7 @@ public class SummaryFieldsMustHaveValidSource extends Processor { if ( ! validate) return; for (DocumentSummary summary : schema.getSummaries().values()) { - for (SummaryField summaryField : summary.getSummaryFields()) { + for (SummaryField summaryField : summary.getSummaryFields().values()) { if (summaryField.getSources().isEmpty()) { if ((summaryField.getTransform() != SummaryTransform.RANKFEATURES) && (summaryField.getTransform() != SummaryTransform.SUMMARYFEATURES)) diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java index 1c6f8d54ea3..2d0afe88281 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/SummaryNamesFieldCollisions.java @@ -32,7 +32,7 @@ public class SummaryNamesFieldCollisions extends Processor { Map<String, Pair<String, String>> fieldToClassAndSource = new HashMap<>(); for (DocumentSummary summary : schema.getSummaries().values()) { if ("default".equals(summary.getName())) continue; - for (SummaryField summaryField : summary.getSummaryFields() ) { + for (SummaryField summaryField : summary.getSummaryFields().values()) { if (summaryField.isImplicit()) continue; Pair<String, String> prevClassAndSource = fieldToClassAndSource.get(summaryField.getName()); for (Source source : summaryField.getSources()) { 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 0d4bfd09677..68bf2511a4b 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 @@ -48,7 +48,7 @@ public class ValidateFieldTypes extends Processor { } final protected void verifySummaryFields(String searchName, Map<String, DataType> seenFields) { for (DocumentSummary summary : schema.getSummaries().values()) { - for (SummaryField field : summary.getSummaryFields()) { + for (SummaryField field : summary.getSummaryFields().values()) { checkFieldType(searchName, "summary field", field.getName(), field.getDataType(), seenFields); } } |