diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-03-07 13:33:28 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-03-07 13:34:21 +0000 |
commit | d0ef3da03680e2f34660154f12efff0b4a9d13ed (patch) | |
tree | 5b457d127ac210c8a7d4b73e8b526a57de06fce6 | |
parent | 343ec9de039f2da9f29a93b658e5b69b6bc859e6 (diff) |
now finds struct for imported fields
3 files changed, 12 insertions, 15 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java index ad2dff46ee3..e67c1ac8275 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/parser/ConvertParsedTypes.java @@ -58,8 +58,6 @@ public class ConvertParsedTypes { var doc = schema.getDocument(); for (var struct : doc.getStructs()) { String structId = doc.name() + "->" + struct.name(); - // int id = new StructDataType(structId).getId(); - // var dt = new StructDataType(id, struct.name()); var dt = new StructDataType(struct.name()); structsFromSchemas.put(structId, dt); } @@ -190,18 +188,6 @@ public class ConvertParsedTypes { throw new IllegalArgumentException("conflicting values for struct " + name + " in " +doc); } } - if (found == null) { - // TODO: be more restrictive here, but we need something - // for imported fields. For now, fall back to looking for - // struct in any schema. - for (var schema : orderedInput) { - for (var struct : schema.getDocument().getStructs()) { - if (struct.name().equals(name)) { - return struct; - } - } - } - } return found; } 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 456efdb08ae..ad4ff4be4b3 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 @@ -100,6 +100,7 @@ public abstract class AbstractExportingTestCase extends AbstractSchemaTestCase { DeployLogger logger) throws IOException, ParseException { return assertCorrectDeriving(dirName, searchDefinitionName, new TestProperties(), logger); } + protected DerivedConfiguration assertCorrectDeriving(String dirName, TestProperties properties) throws IOException, ParseException { diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java index 34354612d04..5dcb9e4ca01 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/ImportedFieldsTestCase.java @@ -1,6 +1,7 @@ // Copyright Yahoo. 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.searchdefinition.parser.ParseException; import org.junit.Test; @@ -18,7 +19,16 @@ public class ImportedFieldsTestCase extends AbstractExportingTestCase { @Test public void configs_for_imported_struct_fields_are_derived() throws IOException, ParseException { - assertCorrectDeriving("imported_struct_fields", "child", new TestableDeployLogger()); + assertCorrectDeriving("imported_struct_fields", "child", + new TestProperties().setExperimentalSdParsing(false), + new TestableDeployLogger()); + } + + @Test + public void configs_for_imported_struct_fields_are_derived_new() throws IOException, ParseException { + assertCorrectDeriving("imported_struct_fields", "child", + new TestProperties().setExperimentalSdParsing(true), + new TestableDeployLogger()); } @Test |