OData4-Olingo系统查询选项($ filter)左边的对象正在传递空值

时间:2018-11-24 07:42:37

标签: java odata olingo

遵循此https://olingo.apache.org/doc/odata4/tutorials/sqo_f/tutorial_sqo_f.html文档。

从查询选项获取表达式:

Expression filterExpression = filterOption.getExpression();

我们假设上面的代码行包含([[ManagerId] eq 1] )查询。 这意味着 ManagerId 是左侧的对象              eq 是运算符              1 是正确的对象

然后遍历集合中的所有实体并计算给定实体的表达式结果:

Object visitorResult = filterExpression.accept(expressionVisitor);

因此,每当调用accept()方法时,它都会调用ExpressionVisitor接口实现的visitBinaryOperator(BinaryOperatorKind运算符,左对象,右对象)方法。此时,调用visitBinaryOperator()方法的左侧对象将传递为null。

这是真正的根本原因,很高兴知道乡亲的提示和技巧。预先谢谢!。

0 个答案:

没有答案