diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-08-22 14:36:03 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-08-22 14:36:03 +0200 |
commit | 4eb133b40206e20e3a70dae7aacec0f6b117e15d (patch) | |
tree | 0bb6fb1c306da10125efc5a5c0d6eec6deae0c22 /config-model/src/main/java/com/yahoo/config | |
parent | 7392f9fdbee5f0a52ac9c056376b659b32500c60 (diff) |
Scope imported models to an entire application build
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config')
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java | 8 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java | 21 |
2 files changed, 23 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java index ff6370f1738..574c25a2f84 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model.deploy; -import com.google.common.collect.ImmutableMap; import com.yahoo.component.Version; import com.yahoo.component.Vtag; import com.yahoo.config.application.api.ApplicationPackage; @@ -22,8 +21,8 @@ import com.yahoo.config.provision.Zone; import com.yahoo.io.reader.NamedReader; import com.yahoo.searchdefinition.RankProfileRegistry; import com.yahoo.searchdefinition.SearchBuilder; +import com.yahoo.searchlib.rankingexpression.integration.ml.ImportedModels; import com.yahoo.searchdefinition.parser.ParseException; -import com.yahoo.searchlib.rankingexpression.integration.ml.ImportedModel; import com.yahoo.vespa.config.ConfigDefinition; import com.yahoo.vespa.config.ConfigDefinitionBuilder; import com.yahoo.vespa.config.ConfigDefinitionKey; @@ -67,7 +66,7 @@ public class DeployState implements ConfigDefinitionStore { private final Zone zone; private final QueryProfiles queryProfiles; private final SemanticRules semanticRules; - //private final ImmutableMap<String, ImportedModel> importedMlModels; + private final ImportedModels importedModels; private final ValidationOverrides validationOverrides; private final Version wantedNodeVespaVersion; private final Instant now; @@ -101,6 +100,7 @@ public class DeployState implements ConfigDefinitionStore { this.zone = zone; this.queryProfiles = queryProfiles; // TODO: Remove this by seeing how pagetemplates are propagated this.semanticRules = semanticRules; // TODO: Remove this by seeing how pagetemplates are propagated + this.importedModels = new ImportedModels(applicationPackage.getFileReference(ApplicationPackage.MODELS_DIR)); this.validationOverrides = applicationPackage.getValidationOverrides().map(ValidationOverrides::fromXml).orElse(ValidationOverrides.empty); this.wantedNodeVespaVersion = wantedNodeVespaVersion; @@ -215,7 +215,7 @@ public class DeployState implements ConfigDefinitionStore { public SemanticRules getSemanticRules() { return semanticRules; } /** The (machine learned) models imported from the models/ directory, as an unmodifiable map indexed by model name */ - //public Map<String, ImportedModel> importedMlModels() { return importedMlModels; } + public ImportedModels getImportedModels() { return importedModels; } public Version getWantedNodeVespaVersion() { return wantedNodeVespaVersion; } diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java index 0cfde3c655c..7404ae14a5d 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java @@ -32,6 +32,7 @@ public class MockApplicationPackage implements ApplicationPackage { public static final String MUSIC_SEARCHDEFINITION = createSearchDefinition("music", "foo"); public static final String BOOK_SEARCHDEFINITION = createSearchDefinition("book", "bar"); + private final File root; private final String hostsS; private final String servicesS; private final List<String> searchDefinitions; @@ -42,9 +43,11 @@ public class MockApplicationPackage implements ApplicationPackage { private final QueryProfileRegistry queryProfileRegistry; private final ApplicationMetaData applicationMetaData; - protected MockApplicationPackage(String hosts, String services, List<String> searchDefinitions, String searchDefinitionDir, + protected MockApplicationPackage(File root, String hosts, String services, List<String> searchDefinitions, + String searchDefinitionDir, String deploymentSpec, String validationOverrides, boolean failOnValidateXml, String queryProfile, String queryProfileType) { + this.root = root; this.hostsS = hosts; this.servicesS = services; this.searchDefinitions = searchDefinitions; @@ -57,6 +60,9 @@ public class MockApplicationPackage implements ApplicationPackage { applicationMetaData = new ApplicationMetaData("user", "dir", 0L, false, "application", "checksum", 0L, 0L); } + /** Returns the root of this application package relative to the current dir */ + protected File root() { return root; } + @Override public String getApplicationName() { return "mock application"; @@ -111,6 +117,11 @@ public class MockApplicationPackage implements ApplicationPackage { } @Override + public File getFileReference(Path path) { + return Path.fromString(root.toString()).append(path).toFile(); + } + + @Override public String getHostSource() { return "mock source"; } @@ -163,6 +174,7 @@ public class MockApplicationPackage implements ApplicationPackage { public static class Builder { + private File root = new File("nonexisting"); private String hosts = null; private String services = null; private List<String> searchDefinitions = Collections.emptyList(); @@ -176,6 +188,11 @@ public class MockApplicationPackage implements ApplicationPackage { public Builder() { } + public Builder withRoot(File root) { + this.root = root; + return this; + } + public Builder withEmptyHosts() { return this.withHosts(emptyHosts); } @@ -235,7 +252,7 @@ public class MockApplicationPackage implements ApplicationPackage { } public ApplicationPackage build() { - return new MockApplicationPackage(hosts, services, searchDefinitions, searchDefinitionDir, + return new MockApplicationPackage(root, hosts, services, searchDefinitions, searchDefinitionDir, deploymentSpec, validationOverrides, failOnValidateXml, queryProfile, queryProfileType); } |