diff options
author | Arne Juul <arnej@yahooinc.com> | 2023-02-16 13:24:04 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2023-02-16 13:24:04 +0000 |
commit | 8d8f523c32fab2bd396f960496459eb079b03872 (patch) | |
tree | a7444f93eaaa355fd7129a518c51e0263abc54ec /config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java | |
parent | 83ddd006f2119fe7321c050ea08533ca6f62b1c0 (diff) |
deeper processing of onnx inputs
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java b/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java index 4e7988a2006..b0f63ebb732 100644 --- a/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java +++ b/config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java @@ -3,13 +3,16 @@ package com.yahoo.schema.expressiontransforms; import com.yahoo.schema.FeatureNames; import com.yahoo.schema.RankProfile; +import com.yahoo.searchlib.rankingexpression.RankingExpression; import com.yahoo.searchlib.rankingexpression.Reference; +import com.yahoo.searchlib.rankingexpression.parser.ParseException; import com.yahoo.searchlib.rankingexpression.rule.CompositeNode; import com.yahoo.searchlib.rankingexpression.rule.ConstantNode; import com.yahoo.searchlib.rankingexpression.rule.ExpressionNode; import com.yahoo.searchlib.rankingexpression.rule.ReferenceNode; import com.yahoo.searchlib.rankingexpression.transform.ExpressionTransformer; +import java.io.StringReader; import java.util.Set; /** @@ -83,7 +86,13 @@ public class InputRecorder extends ExpressionTransformer<RankProfileTransformCon throw new IllegalArgumentException("missing onnx model: " + arg); } for (String onnxInput : model.getInputMap().values()) { - neededInputs.add(onnxInput); + var reader = new StringReader(onnxInput); + try { + var asExpression = new RankingExpression(reader); + transform(asExpression.getRoot(), context); + } catch (ParseException e) { + throw new IllegalArgumentException("illegal onnx input '" + onnxInput + "': " + e.getMessage()); + } } return; } |