diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-02-02 10:08:46 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-02-02 10:08:46 +0100 |
commit | ff4671564ed07ebc8af845b56fd08d0467452e48 (patch) | |
tree | 1e2fd9da0f67cd30e3fbb6bf5166f65587962e7e /config-model | |
parent | 27b3cdd6c04f83d540258a964265977e06dfc499 (diff) |
Allow and ignore 'default inherits default'
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java | 6 | ||||
-rw-r--r-- | config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java index 440e41e192b..812726a609e 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java @@ -25,6 +25,12 @@ public class DefaultRankProfile extends RankProfile { super("default", schema, rankProfileRegistry, rankingConstants); } + /** Ignore self inheriting of default as some applications may use that for historical reasons. */ + public void inherit(String inheritedName) { + if (inheritedName.equals("default")) return; + super.inherit(inheritedName); + } + @Override public RankSetting getRankSetting(String fieldOrIndex, RankSetting.Type type) { RankSetting setting = super.getRankSetting(fieldOrIndex, type); diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java index 939d197da5b..d77c6d822e3 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java @@ -171,6 +171,18 @@ public class RankProfileTestCase extends AbstractSchemaTestCase { } @Test + public void requireThatDefaultInheritingDefaultIsIgnored() throws ParseException { + RankProfileRegistry registry = new RankProfileRegistry(); + ApplicationBuilder builder = new ApplicationBuilder(registry, setupQueryProfileTypes()); + builder.addSchema(joinLines( + "schema test {", + " document test { } ", + " rank-profile default inherits default {}", + "}")); + builder.build(true); + } + + @Test public void requireThatCyclicInheritanceIsIllegal() throws ParseException { try { RankProfileRegistry registry = new RankProfileRegistry(); |