aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2023-02-16 13:24:04 +0000
committerArne Juul <arnej@yahooinc.com>2023-02-16 13:24:04 +0000
commit8d8f523c32fab2bd396f960496459eb079b03872 (patch)
treea7444f93eaaa355fd7129a518c51e0263abc54ec /config-model
parent83ddd006f2119fe7321c050ea08533ca6f62b1c0 (diff)
deeper processing of onnx inputs
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/expressiontransforms/InputRecorder.java11
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;
}