我正在执行从 signavio 工具中提取的基于 DMN 的决策模型。该模型包含 zip 功能以及 MID。请参阅下面我的决策表示例
<decision name="collateOrder" id="id-85c7398c9bc186c1e2396c4625ebbcc1" label="Collate Order" sigExt:shapeId="sid-C47674E0-8CDE-4A4A-84E8-3DD179DCF72C" sigExt:diagramId="8462cb232d98419493d4ef846516a070">
<extensionElements/>
<variable typeRef="sig:collateOrder" name="collateOrder" id="id-85c7398c9bc186c1e2396c4625ebbcc1_variable"/>
<informationRequirement>
<requiredInput href="#id-a47f651b80111a121d93cf07939b20dc"/>
</informationRequirement>
<literalExpression expressionLanguage="http://www.omg.org/spec/FEEL/20140401">
<text>zip(["Item Name", "Item Price", "Item Quantity"], [order.itemName, order.price, order.quantity])</text>
</literalExpression>
</decision>
我正在使用 kie-dmn-signavio-7.37.0.Final.jar
在我的 java 代码上,我传递如下参数
DMNContext context = runtime.newContext();
List fieldList = Arrays.asList("itemName", "price", "quantity");
List<String> itemList = Arrays.asList("item1", "item2", "item3");
List<BigDecimal> priceList = Arrays.asList(new BigDecimal(1000), new BigDecimal(200), new BigDecimal(3000));
List<Integer> qtyList = Arrays.asList(100, 20, 300);
List<List> valLiist = Arrays.asList(itemList, priceList, qtyList);
List<List> finalList = Arrays.asList(fieldList, valLiist);
context.set("order", finalList);
DMNResult evaluateAll = runtime.evaluateAll(model0, context);
当我运行我的代码时,我收到以下错误消息 23:52:26.989 [main] ERROR org.kie.dmn.core.ast.DMNLiteralExpressionEvaluator - 评估文字表达式'zip(["Item Name", "Item Price", "Item Quantity"], ... [字符串在 50 个字符后截断,总长度为 96]':参数 'values',在函数 zip() 中,值必须是与属性大小相同的列表.
不确定我的输入有什么问题。
感谢你的帮助。