OData4 - Параметры системного запроса Olingo ($ filter) левый объект передается нулевым - PullRequest
0 голосов
/ 24 ноября 2018

Как следует из этой 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 (), он вызывает метод visitBinaryOperator (оператор BinaryOperatorKind, объект слева, объект справа) интерфейса ExpressionVisitorреализация.В тот момент, когда вызывается метод visitBinaryOperator (), левый объект получает нулевое значение.

Это истинная причина, было бы здорово узнать советы и рекомендации от людей.Заранее спасибо!

...