summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-02-02 10:08:46 +0100
committerJon Bratseth <bratseth@gmail.com>2022-02-02 10:08:46 +0100
commitff4671564ed07ebc8af845b56fd08d0467452e48 (patch)
tree1e2fd9da0f67cd30e3fbb6bf5166f65587962e7e /config-model
parent27b3cdd6c04f83d540258a964265977e06dfc499 (diff)
Allow and ignore 'default inherits default'
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/DefaultRankProfile.java6
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/RankProfileTestCase.java12
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();