diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-08-30 13:20:35 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-08-30 13:20:35 +0200 |
commit | a9e0e05063e156eb1692346cdcbbf9a1c85483d2 (patch) | |
tree | 412c86ea39ce850ef6a8e3e2241948a686743d9e /config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms | |
parent | 50c92f5b6f3319b5f59dd5d30792e51f83de3d2b (diff) |
Test reading stored global models
Also
- assign the proper name to ranking expressions in macros
- output more debug inof on generated macro collision
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java index 935b9200868..f7a06f86ab7 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConvertedModel.java @@ -272,11 +272,12 @@ public class ConvertedModel { if (profile.getMacros().containsKey(macroName)) { if ( ! profile.getMacros().get(macroName).getRankingExpression().equals(expression)) throw new IllegalArgumentException("Generated macro '" + macroName + "' already exists in " + profile + - " - with a different definition"); + " - with a different definition" + + ": Has\n" + profile.getMacros().get(macroName).getRankingExpression() + + "\nwant to add " + expression + "\n"); return; } - profile.addMacro(macroName, false); // todo: inline if only used once - RankProfile.Macro macro = profile.getMacros().get(macroName); + RankProfile.Macro macro = profile.addMacro(macroName, false); // TODO: Inline if only used once macro.setRankingExpression(expression); macro.setTextualExpression(expression.getRoot().toString()); } @@ -546,7 +547,7 @@ public class ConvertedModel { return expressions; } - /** Adds this macro expression to the application package to it can be read later. */ + /** Adds this macro expression to the application package so it can be read later. */ void writeMacro(String name, RankingExpression expression) { application.getFile(modelFiles.macrosPath()).appendFile(name + "\t" + expression.getRoot().toString() + "\n"); @@ -556,7 +557,7 @@ public class ConvertedModel { List<Pair<String, RankingExpression>> readMacros() { try { ApplicationFile file = application.getFile(modelFiles.macrosPath()); - if (!file.exists()) return Collections.emptyList(); + if ( ! file.exists()) return Collections.emptyList(); List<Pair<String, RankingExpression>> macros = new ArrayList<>(); BufferedReader reader = new BufferedReader(file.createReader()); @@ -565,7 +566,7 @@ public class ConvertedModel { String[] parts = line.split("\t"); String name = parts[0]; try { - RankingExpression expression = new RankingExpression(parts[1]); + RankingExpression expression = new RankingExpression(parts[0], parts[1]); macros.add(new Pair<>(name, expression)); } catch (ParseException e) { |