diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java deleted file mode 100644 index 60cc5c1cbb4..00000000000 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.searchdefinition.processing; - -import com.yahoo.config.application.api.DeployLogger; -import com.yahoo.searchdefinition.RankProfileRegistry; -import com.yahoo.searchdefinition.Schema; -import com.yahoo.searchdefinition.document.Attribute; -import com.yahoo.vespa.model.container.search.QueryProfiles; - -import java.util.stream.Collectors; - -/** - * Validates the use of the fast-access property. - * - * @author bjorncs - */ -public class FastAccessValidator extends Processor { - - public FastAccessValidator(Schema schema, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles) { - super(schema, deployLogger, rankProfileRegistry, queryProfiles); - } - - @Override - public void process(boolean validate, boolean documentsOnly) { - if ( ! validate) return; - - String invalidAttributes = schema.allFields() - .flatMap(field -> field.getAttributes().values().stream()) - .filter(FastAccessValidator::isIncompatibleAttribute) - .map(Attribute::getName) - .collect(Collectors.joining(", ")); - if ( ! invalidAttributes.isEmpty()) { - throw new IllegalArgumentException( - "For " + schema + ": The following attributes have a type that is incompatible with fast-access: " + - invalidAttributes + ". Predicate, tensor and reference attributes are incompatible with fast-access."); - } - } - - private static boolean isIncompatibleAttribute(Attribute attribute) { - return attribute.isFastAccess() && isTypeIncompatibleWithFastAccess(attribute.getType()); - } - - private static boolean isTypeIncompatibleWithFastAccess(Attribute.Type type) { - switch (type) { - case PREDICATE: - case TENSOR: - case REFERENCE: - return true; - default: - return false; - } - } - -} |