diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-05-27 11:52:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-27 11:52:36 +0200 |
commit | 8d79f2813b5b9ab687219ce3b6cc73b0081b8300 (patch) | |
tree | 6951d33bb7acfae8d9688597f0c809599c99bae6 | |
parent | 6b6e59869ab5259a8cd2e382cd2b5164a963a293 (diff) | |
parent | b407dc4c674b81c28c38a98434ecafab80a62fc9 (diff) |
Merge pull request #18003 from vespa-engine/balder/forward-modelcontext-properties
Forward deployment properties so that we can use featureflags earlier…
15 files changed, 99 insertions, 60 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 3fd2d009412..1d0541b67d1 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 @@ -462,7 +462,7 @@ public class DeployState implements ConfigDefinitionStore { ValidationParameters validationParameters) { Collection<NamedReader> readers = applicationPackage.getSearchDefinitions(); Map<String, String> names = new LinkedHashMap<>(); - SearchBuilder builder = new SearchBuilder(applicationPackage, logger, rankProfileRegistry, queryProfiles.getRegistry()); + SearchBuilder builder = new SearchBuilder(applicationPackage, logger, properties, rankProfileRegistry, queryProfiles.getRegistry()); for (NamedReader reader : readers) { try { String readerName = reader.getName(); 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 7200c3211ba..e9fe0824f30 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 @@ -7,6 +7,7 @@ import com.yahoo.config.application.api.UnparsedConfigDefinition; import com.yahoo.config.application.api.ApplicationFile; import com.yahoo.component.Version; import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.InstanceName; @@ -118,6 +119,7 @@ public class MockApplicationPackage implements ApplicationPackage { ArrayList<NamedReader> readers = new ArrayList<>(); SearchBuilder searchBuilder = new SearchBuilder(this, new BaseDeployLogger(), + new TestProperties(), new RankProfileRegistry(), queryProfileRegistry); for (String sd : schemas) { diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentOnlySearch.java b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentOnlySearch.java index 6e17bd0f0bb..a6c01c7f6de 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/DocumentOnlySearch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/DocumentOnlySearch.java @@ -3,6 +3,7 @@ package com.yahoo.searchdefinition; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.DeployLogger; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.searchdefinition.document.SDDocumentType; /** @@ -13,8 +14,8 @@ import com.yahoo.searchdefinition.document.SDDocumentType; */ public class DocumentOnlySearch extends Search { - public DocumentOnlySearch(ApplicationPackage applicationPackage, DeployLogger deployLogger) { - super(applicationPackage, deployLogger); + public DocumentOnlySearch(ApplicationPackage applicationPackage, DeployLogger deployLogger, ModelContext.Properties properties) { + super(applicationPackage, deployLogger, properties); } @Override diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java b/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java index efd9ed5e88f..6b40289e17d 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java @@ -2,6 +2,8 @@ package com.yahoo.searchdefinition; import com.yahoo.config.application.api.ApplicationPackage; +import com.yahoo.config.application.api.DeployLogger; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.searchdefinition.document.ImmutableSDField; import com.yahoo.searchdefinition.document.SDField; import com.yahoo.vespa.documentmodel.SummaryField; @@ -27,6 +29,8 @@ public interface ImmutableSearch { List<Index> getExplicitIndices(); Reader getRankingExpression(String fileName); ApplicationPackage applicationPackage(); + DeployLogger getDeployLogger(); + ModelContext.Properties getDeployProperties(); RankingConstants rankingConstants(); RankExpressionFiles rankExpressionFiles(); OnnxModels onnxModels(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/Search.java b/config-model/src/main/java/com/yahoo/searchdefinition/Search.java index b07740620f8..f11afef0eb2 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/Search.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/Search.java @@ -3,7 +3,9 @@ package com.yahoo.searchdefinition; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.DeployLogger; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.document.Field; import com.yahoo.searchdefinition.derived.SummaryClass; import com.yahoo.searchdefinition.document.Attribute; @@ -31,7 +33,6 @@ import java.util.Map; import java.util.Optional; import java.util.TreeMap; import java.util.logging.Level; -import java.util.logging.Logger; import java.util.stream.Stream; /** @@ -95,10 +96,11 @@ public class Search implements ImmutableSearch { private final ApplicationPackage applicationPackage; private final DeployLogger deployLogger; + private final ModelContext.Properties properties; /** Testin only */ public Search(String name) { - this(name, null, new BaseDeployLogger()); + this(name, null, new BaseDeployLogger(), new TestProperties()); } /** * Creates a proper search definition @@ -106,18 +108,19 @@ public class Search implements ImmutableSearch { * @param name of the the searchdefinition * @param applicationPackage the application containing this */ - public Search(String name, ApplicationPackage applicationPackage, DeployLogger deployLogger) { - this(applicationPackage, deployLogger, false); + public Search(String name, ApplicationPackage applicationPackage, DeployLogger deployLogger, ModelContext.Properties properties) { + this(applicationPackage, deployLogger, properties, false); this.name = name; } - protected Search(ApplicationPackage applicationPackage, DeployLogger deployLogger) { - this(applicationPackage, deployLogger, true); + protected Search(ApplicationPackage applicationPackage, DeployLogger deployLogger, ModelContext.Properties properties) { + this(applicationPackage, deployLogger, properties, true); } - private Search(ApplicationPackage applicationPackage, DeployLogger deployLogger, boolean documentsOnly) { + private Search(ApplicationPackage applicationPackage, DeployLogger deployLogger, ModelContext.Properties properties, boolean documentsOnly) { this.applicationPackage = applicationPackage; this.deployLogger = deployLogger; + this.properties = properties; this.documentsOnly = documentsOnly; } @@ -298,6 +301,12 @@ public class Search implements ImmutableSearch { @Override public ApplicationPackage applicationPackage() { return applicationPackage; } + @Override + public DeployLogger getDeployLogger() { return deployLogger; } + + @Override + public ModelContext.Properties getDeployProperties() { return properties; } + /** * Returns a field defined in this search definition or one if its documents. Fields in this search definition takes * precedence over document fields having the same name diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/SearchBuilder.java b/config-model/src/main/java/com/yahoo/searchdefinition/SearchBuilder.java index fc110504f4d..537613d3b43 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/SearchBuilder.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/SearchBuilder.java @@ -3,7 +3,9 @@ package com.yahoo.searchdefinition; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.DeployLogger; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.document.DocumentTypeManager; import com.yahoo.io.IOUtils; @@ -46,12 +48,13 @@ public class SearchBuilder { private final RankProfileRegistry rankProfileRegistry; private final QueryProfileRegistry queryProfileRegistry; private final DeployLogger deployLogger; - private List<Search> searchList = new LinkedList<>(); - private boolean isBuilt = false; - + private final ModelContext.Properties properties; /** True to build the document aspect only, skipping instantiation of rank profiles */ private final boolean documentsOnly; + private List<Search> searchList = new LinkedList<>(); + private boolean isBuilt = false; + /** For testing only */ public SearchBuilder() { this(new RankProfileRegistry(), new QueryProfileRegistry()); @@ -69,17 +72,17 @@ public class SearchBuilder { /** Used for generating documents for typed access to document fields in Java */ public SearchBuilder(boolean documentsOnly) { - this(MockApplicationPackage.createEmpty(), new BaseDeployLogger(), new RankProfileRegistry(), new QueryProfileRegistry(), documentsOnly); + this(MockApplicationPackage.createEmpty(), new BaseDeployLogger(), new TestProperties(), new RankProfileRegistry(), new QueryProfileRegistry(), documentsOnly); } /** For testing only */ public SearchBuilder(ApplicationPackage app, DeployLogger deployLogger) { - this(app, deployLogger, new RankProfileRegistry(), new QueryProfileRegistry()); + this(app, deployLogger, new TestProperties(), new RankProfileRegistry(), new QueryProfileRegistry()); } /** For testing only */ public SearchBuilder(ApplicationPackage app, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry) { - this(app, deployLogger, rankProfileRegistry, new QueryProfileRegistry()); + this(app, deployLogger, new TestProperties(), rankProfileRegistry, new QueryProfileRegistry()); } /** For testing only */ @@ -89,17 +92,19 @@ public class SearchBuilder { /** For testing only */ public SearchBuilder(RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryProfileRegistry) { - this(MockApplicationPackage.createEmpty(), new BaseDeployLogger(), rankProfileRegistry, queryProfileRegistry); + this(MockApplicationPackage.createEmpty(), new BaseDeployLogger(), new TestProperties(), rankProfileRegistry, queryProfileRegistry); } public SearchBuilder(ApplicationPackage app, DeployLogger deployLogger, + ModelContext.Properties properties, RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryProfileRegistry) { - this(app, deployLogger, rankProfileRegistry, queryProfileRegistry, false); + this(app, deployLogger, properties, rankProfileRegistry, queryProfileRegistry, false); } private SearchBuilder(ApplicationPackage app, DeployLogger deployLogger, + ModelContext.Properties properties, RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryProfileRegistry, boolean documentsOnly) { @@ -107,6 +112,7 @@ public class SearchBuilder { this.rankProfileRegistry = rankProfileRegistry; this.queryProfileRegistry = queryProfileRegistry; this.deployLogger = deployLogger; + this.properties = properties; this.documentsOnly = documentsOnly; } @@ -154,7 +160,7 @@ public class SearchBuilder { private String importString(String str, String searchDefDir) throws ParseException { SimpleCharStream stream = new SimpleCharStream(str); try { - return importRawSearch(new SDParser(stream, deployLogger, app, rankProfileRegistry, documentsOnly) + return importRawSearch(new SDParser(stream, deployLogger, properties, app, rankProfileRegistry, documentsOnly) .search(docTypeMgr, searchDefDir)); } catch (TokenMgrException e) { throw new ParseException("Unknown symbol: " + e.getMessage()); @@ -234,7 +240,7 @@ public class SearchBuilder { var builder = new DocumentModelBuilder(model); for (Search search : new SearchOrderer().order(searchList)) { new FieldOperationApplierForSearch().process(search); // TODO: Why is this not in the regular list? - process(search, deployLogger, new QueryProfiles(queryProfileRegistry, deployLogger), validate); + process(search, new QueryProfiles(queryProfileRegistry, deployLogger), validate); built.add(search); } builder.addToModel(searchList); @@ -249,7 +255,7 @@ public class SearchBuilder { * Processes and returns the given {@link Search} object. This method has been factored out of the {@link * #build()} method so that subclasses can choose not to build anything. */ - protected void process(Search search, DeployLogger deployLogger, QueryProfiles queryProfiles, boolean validate) { + private void process(Search search, QueryProfiles queryProfiles, boolean validate) { new Processing().process(search, deployLogger, rankProfileRegistry, queryProfiles, validate, documentsOnly); } @@ -340,8 +346,8 @@ public class SearchBuilder { return createFromFile(fileName, logger, new RankProfileRegistry(), new QueryProfileRegistry()); } - public static SearchBuilder createFromFiles(Collection<String> fileNames, DeployLogger logger) throws IOException, ParseException { - return createFromFiles(fileNames, logger, new RankProfileRegistry(), new QueryProfileRegistry()); + private static SearchBuilder createFromFiles(Collection<String> fileNames, DeployLogger logger) throws IOException, ParseException { + return createFromFiles(fileNames, logger, new TestProperties(), new RankProfileRegistry(), new QueryProfileRegistry()); } /** @@ -354,25 +360,27 @@ public class SearchBuilder { * @throws IOException if there was a problem reading the file. * @throws ParseException if there was a problem parsing the file content. */ - public static SearchBuilder createFromFile(String fileName, + private static SearchBuilder createFromFile(String fileName, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryprofileRegistry) throws IOException, ParseException { - return createFromFiles(Collections.singletonList(fileName), deployLogger, + return createFromFiles(Collections.singletonList(fileName), deployLogger, new TestProperties(), rankProfileRegistry, queryprofileRegistry); } /** * Convenience factory methdd to create a SearchBuilder from multiple SD files.. */ - public static SearchBuilder createFromFiles(Collection<String> fileNames, + private static SearchBuilder createFromFiles(Collection<String> fileNames, DeployLogger deployLogger, + ModelContext.Properties properties, RankProfileRegistry rankProfileRegistry, QueryProfileRegistry queryprofileRegistry) throws IOException, ParseException { SearchBuilder builder = new SearchBuilder(MockApplicationPackage.createEmpty(), deployLogger, + properties, rankProfileRegistry, queryprofileRegistry); for (String fileName : fileNames) { @@ -382,28 +390,32 @@ public class SearchBuilder { return builder; } - public static SearchBuilder createFromDirectory(String dir, DeployLogger logger) throws IOException, ParseException { - return createFromDirectory(dir, new RankProfileRegistry(), logger); - } - public static SearchBuilder createFromDirectory(String dir, - RankProfileRegistry rankProfileRegistry, - DeployLogger logger) throws IOException, ParseException { - return createFromDirectory(dir, rankProfileRegistry, createQueryProfileRegistryFromDirectory(dir), logger); + public static SearchBuilder createFromDirectory(String dir, DeployLogger logger, ModelContext.Properties properties) throws IOException, ParseException { + return createFromDirectory(dir, logger, properties, new RankProfileRegistry()); } public static SearchBuilder createFromDirectory(String dir, - RankProfileRegistry rankProfileRegistry, - QueryProfileRegistry queryProfileRegistry, - DeployLogger logger) throws IOException, ParseException { - return createFromDirectory(dir, rankProfileRegistry, queryProfileRegistry, logger, MockApplicationPackage.fromSearchDefinitionDirectory(dir)); - } - - public static SearchBuilder createFromDirectory(String dir, - RankProfileRegistry rankProfileRegistry, - QueryProfileRegistry queryProfileRegistry, - DeployLogger deployLogger, - ApplicationPackage applicationPackage) throws IOException, ParseException { + DeployLogger logger, + ModelContext.Properties properties, + RankProfileRegistry rankProfileRegistry) throws IOException, ParseException { + return createFromDirectory(dir, logger, properties, rankProfileRegistry, createQueryProfileRegistryFromDirectory(dir)); + } + private static SearchBuilder createFromDirectory(String dir, + DeployLogger logger, + ModelContext.Properties properties, + RankProfileRegistry rankProfileRegistry, + QueryProfileRegistry queryProfileRegistry) throws IOException, ParseException { + return createFromDirectory(dir, MockApplicationPackage.fromSearchDefinitionDirectory(dir), logger, properties, rankProfileRegistry, queryProfileRegistry); + } + + private static SearchBuilder createFromDirectory(String dir, + ApplicationPackage applicationPackage, + DeployLogger deployLogger, + ModelContext.Properties properties, + RankProfileRegistry rankProfileRegistry, + QueryProfileRegistry queryProfileRegistry) throws IOException, ParseException { SearchBuilder builder = new SearchBuilder(applicationPackage, deployLogger, + properties, rankProfileRegistry, queryProfileRegistry); for (Iterator<Path> i = Files.list(new File(dir).toPath()).filter(p -> p.getFileName().toString().endsWith(".sd")).iterator(); i.hasNext(); ) { diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj index 0cc1db5a2d7..c247100db76 100644 --- a/config-model/src/main/javacc/SDParser.jj +++ b/config-model/src/main/javacc/SDParser.jj @@ -55,7 +55,7 @@ import com.yahoo.vespa.documentmodel.SummaryTransform; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.application.api.DeployLogger; -import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.language.Linguistics; import com.yahoo.language.simple.SimpleLinguistics; import com.yahoo.search.query.ranking.Diversity; @@ -76,6 +76,7 @@ public class SDParser { private DocumentTypeManager docMan = null; private ApplicationPackage app; private DeployLogger deployLogger; + private ModelContext.Properties properties; private RankProfileRegistry rankProfileRegistry; private boolean documentsOnly; @@ -86,11 +87,13 @@ public class SDParser { */ public SDParser(SimpleCharStream stream, DeployLogger deployLogger, + ModelContext.Properties properties, ApplicationPackage applicationPackage, RankProfileRegistry rankProfileRegistry, boolean documentsOnly) { this(stream); this.deployLogger = deployLogger; + this.properties = properties; this.app = applicationPackage; this.rankProfileRegistry = rankProfileRegistry; this.documentsOnly = documentsOnly; @@ -425,7 +428,7 @@ Search rootSchema(String dir) : Search search; } { - ( ( <SCHEMA> | <SEARCH> ) name = identifier() { search = new Search(name, app, deployLogger); + ( ( <SCHEMA> | <SEARCH> ) name = identifier() { search = new Search(name, app, deployLogger, properties); rankProfileRegistry.add(new DefaultRankProfile(search, rankProfileRegistry)); rankProfileRegistry.add(new UnrankedRankProfile(search, rankProfileRegistry));} lbrace() (rootSchemaItem(search) (<NL>)*)* <RBRACE> (<NL>)* <EOF>) @@ -466,7 +469,7 @@ Object rootSchemaItem(Search search) : { } */ Search rootDocument(String dir) : { - Search search = new DocumentOnlySearch(app, deployLogger); + Search search = new DocumentOnlySearch(app, deployLogger, properties); } { ( (rootDocumentItem(search) (<NL>)*)*<EOF> ) diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java index 6b6af95a8d2..1a43b4d81e5 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java @@ -34,7 +34,7 @@ public abstract class AbstractExportingTestCase extends SchemaTestCase { toDir.mkdirs(); deleteContent(toDir); - SearchBuilder builder = SearchBuilder.createFromDirectory(searchDefRoot + dirName + "/", logger); + SearchBuilder builder = SearchBuilder.createFromDirectory(searchDefRoot + dirName + "/", logger, properties); return derive(dirName, searchDefinitionName, properties, builder, logger); } diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/VsmFieldsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/VsmFieldsTestCase.java index b813f08d49e..e59f221d2a3 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/VsmFieldsTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/VsmFieldsTestCase.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchdefinition.derived; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.document.ReferenceDataType; import com.yahoo.document.TemporaryStructuredDataType; @@ -20,7 +21,7 @@ public class VsmFieldsTestCase { @Test public void reference_type_field_is_unsearchable() { - Search search = new Search("test", MockApplicationPackage.createEmpty(), new TestableDeployLogger()); + Search search = new Search("test", MockApplicationPackage.createEmpty(), new TestableDeployLogger(), new TestProperties()); search.addDocument(new SDDocumentType("test")); SDField refField = new TemporarySDField("ref_field", ReferenceDataType.createWithInferredId(TemporaryStructuredDataType.create("parent_type"))); refField.parseIndexingScript("{ summary }"); diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFieldsTest.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFieldsTest.java index 83949ea6f8d..1f267334d28 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFieldsTest.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFieldsTest.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. 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.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.document.DataType; import com.yahoo.document.Field; @@ -45,14 +46,14 @@ public class AddAttributeTransformToSummaryOfImportedFieldsTest { } private static Search createSearchWithDocument(String documentName) { - Search search = new Search(documentName, MockApplicationPackage.createEmpty(), new TestableDeployLogger()); + Search search = new Search(documentName, MockApplicationPackage.createEmpty(), new TestableDeployLogger(), new TestProperties()); SDDocumentType document = new SDDocumentType(documentName, search); search.addDocument(document); return search; } private static ImportedFields createSingleImportedField(String fieldName) { - Search targetSearch = new Search("target_doc", MockApplicationPackage.createEmpty(), new TestableDeployLogger()); + Search targetSearch = new Search("target_doc", MockApplicationPackage.createEmpty(), new TestableDeployLogger(), new TestProperties()); SDField targetField = new SDField("target_field", DataType.INT); DocumentReference documentReference = new DocumentReference(new Field("reference_field"), targetSearch); ImportedField importedField = new ImportedSimpleField(fieldName, documentReference, targetField); diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ParentChildSearchModel.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ParentChildSearchModel.java index ecafd7a4222..50a037d81c1 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ParentChildSearchModel.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ParentChildSearchModel.java @@ -3,6 +3,7 @@ package com.yahoo.searchdefinition.processing; import com.google.common.collect.ImmutableMap; import com.yahoo.config.application.api.ApplicationPackage; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.document.DataType; import com.yahoo.document.ReferenceDataType; @@ -30,7 +31,7 @@ public class ParentChildSearchModel { } protected Search createSearch(String name) { - Search result = new Search(name, app, new TestableDeployLogger()); + Search result = new Search(name, app, new TestableDeployLogger(), new TestProperties()); result.addDocument(new SDDocumentType(name)); return result; } diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankProfileSearchFixture.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankProfileSearchFixture.java index 683242c1333..56cc87cadc4 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankProfileSearchFixture.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankProfileSearchFixture.java @@ -5,6 +5,7 @@ import com.google.common.collect.ImmutableList; import com.yahoo.config.application.api.ApplicationPackage; import ai.vespa.rankingexpression.importer.configmodelview.MlModelImporter; import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.path.Path; import com.yahoo.search.query.profile.QueryProfileRegistry; @@ -63,7 +64,7 @@ class RankProfileSearchFixture { String rankProfiles, String constant, String field) throws ParseException { this.queryProfileRegistry = queryProfileRegistry; - SearchBuilder builder = new SearchBuilder(applicationpackage, new BaseDeployLogger(), rankProfileRegistry, queryProfileRegistry); + SearchBuilder builder = new SearchBuilder(applicationpackage, new BaseDeployLogger(), new TestProperties(), rankProfileRegistry, queryProfileRegistry); String sdContent = "search test {\n" + " " + (constant != null ? constant : "") + "\n" + " document test {\n" + diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTransformerTokensTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTransformerTokensTestCase.java index 2ae6ffbf343..2d8630e3ff7 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTransformerTokensTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTransformerTokensTestCase.java @@ -2,6 +2,7 @@ package com.yahoo.searchdefinition.processing; import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.search.query.profile.QueryProfileRegistry; import com.yahoo.searchdefinition.RankProfile; @@ -85,7 +86,7 @@ public class RankingExpressionWithTransformerTokensTestCase { " document test {}\n" + " rank-profile my_profile inherits default {}\n" + "}"; - SearchBuilder searchBuilder = new SearchBuilder(application, new BaseDeployLogger(), rankProfileRegistry, queryProfileRegistry); + SearchBuilder searchBuilder = new SearchBuilder(application, new BaseDeployLogger(), new TestProperties(), rankProfileRegistry, queryProfileRegistry); searchBuilder.importString(sdContent); searchBuilder.build(); Search search = searchBuilder.getSearch(); diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java index 0695ae6a249..289a380a85f 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java @@ -32,8 +32,9 @@ public class RankingExpressionsTestCase extends SchemaTestCase { public void testFunctions() throws IOException, ParseException { RankProfileRegistry rankProfileRegistry = new RankProfileRegistry(); Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressionfunction", - rankProfileRegistry, - new TestableDeployLogger()).getSearch(); + new TestableDeployLogger(), + new TestProperties(), + rankProfileRegistry).getSearch(); RankProfile functionsRankProfile = rankProfileRegistry.get(search, "macros"); Map<String, RankProfile.RankingExpressionFunction> functions = functionsRankProfile.getFunctions(); assertEquals(2, functions.get("titlematch$").function().arguments().size()); @@ -72,8 +73,9 @@ public class RankingExpressionsTestCase extends SchemaTestCase { public void testThatIncludingFileInSubdirFails() throws IOException, ParseException { RankProfileRegistry registry = new RankProfileRegistry(); Search search = SearchBuilder.createFromDirectory("src/test/examples/rankingexpressioninfile", - registry, - new TestableDeployLogger()).getSearch(); + new TestableDeployLogger(), + new TestProperties(), + registry).getSearch(); new DerivedConfiguration(search, new BaseDeployLogger(), new TestProperties(), registry, new QueryProfileRegistry(), new ImportedMlModels()); // rank profile parsing happens during deriving } diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ValidateFieldTypesTest.java b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ValidateFieldTypesTest.java index 28e70130e75..f490b6d8de1 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/processing/ValidateFieldTypesTest.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/processing/ValidateFieldTypesTest.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. 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.model.deploy.TestProperties; import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.document.DataType; import com.yahoo.document.Field; @@ -46,14 +47,14 @@ public class ValidateFieldTypesTest { } private static Search createSearchWithDocument(String documentName) { - Search search = new Search(documentName, MockApplicationPackage.createEmpty(), new TestableDeployLogger()); + Search search = new Search(documentName, MockApplicationPackage.createEmpty(), new TestableDeployLogger(), new TestProperties()); SDDocumentType document = new SDDocumentType(documentName, search); search.addDocument(document); return search; } private static ImportedFields createSingleImportedField(String fieldName, DataType dataType) { - Search targetSearch = new Search("target_doc", MockApplicationPackage.createEmpty(), new TestableDeployLogger()); + Search targetSearch = new Search("target_doc", MockApplicationPackage.createEmpty(), new TestableDeployLogger(), new TestProperties()); SDField targetField = new SDField("target_field", dataType); DocumentReference documentReference = new DocumentReference(new Field("reference_field"), targetSearch); ImportedField importedField = new ImportedSimpleField(fieldName, documentReference, targetField); |