summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-05-27 11:52:36 +0200
committerGitHub <noreply@github.com>2021-05-27 11:52:36 +0200
commit8d79f2813b5b9ab687219ce3b6cc73b0081b8300 (patch)
tree6951d33bb7acfae8d9688597f0c809599c99bae6
parent6b6e59869ab5259a8cd2e382cd2b5164a963a293 (diff)
parentb407dc4c674b81c28c38a98434ecafab80a62fc9 (diff)
Merge pull request #18003 from vespa-engine/balder/forward-modelcontext-properties
Forward deployment properties so that we can use featureflags earlier…
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/DocumentOnlySearch.java5
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/ImmutableSearch.java4
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/Search.java23
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/SearchBuilder.java80
-rw-r--r--config-model/src/main/javacc/SDParser.jj9
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/AbstractExportingTestCase.java2
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/derived/VsmFieldsTestCase.java3
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFieldsTest.java5
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/ParentChildSearchModel.java3
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankProfileSearchFixture.java3
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionWithTransformerTokensTestCase.java3
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/RankingExpressionsTestCase.java10
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/processing/ValidateFieldTypesTest.java5
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);