From de8d9183d929db1ae048663618aa25262486de85 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Thu, 31 Oct 2019 08:51:25 +0100 Subject: It is better to just lookup a function by name from the hierarchical maps in shadoworder than creating a new joined map for every lookup. --- .../src/main/java/com/yahoo/searchdefinition/RankProfile.java | 6 ++++++ .../searchdefinition/expressiontransforms/FunctionShadower.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'config-model') diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java index f1155a5d3cf..5c43428a5d7 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java @@ -541,6 +541,12 @@ public class RankProfile implements Serializable, Cloneable { return rankingExpressionFunction; } + public RankingExpressionFunction findFunction(String name) { + RankingExpressionFunction function = functions.get(name); + return ((function == null) && (getInherited() != null)) + ? getInherited().findFunction(name) + : function; + } /** Returns an unmodifiable snapshot of the functions in this */ public Map getFunctions() { if (functions.isEmpty() && getInherited() == null) return Collections.emptyMap(); diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/FunctionShadower.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/FunctionShadower.java index 74b6471d291..c3ee7d5fc3d 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/FunctionShadower.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/FunctionShadower.java @@ -43,7 +43,7 @@ public class FunctionShadower extends ExpressionTransformer