summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/processing/FastAccessValidator.java
diff options
context:
space:
mode:
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.java54
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;
- }
- }
-
-}