简体   繁体   English

Apache Olingo4 ExpressionVisitor

[英]Apache Olingo4 ExpressionVisitor

How to pass a raw expression to ExpressionVisitor implementation of Odata4 using olingo4 . 如何使用olingo4将原始表达式传递给Odata4 ExpressionVisitor实现。 This is how it was done in olingo2 JDBC Visitor Filter 这是在olingo2 JDBC访问者过滤器中完成的

String rawExpression = "'a' eq 'b' or ('c' eq 'd' and 'b' eq 'd')";
FilterExpression expression = UriParser.parseFilter(null, null, rawExpression);
String whereClauseSimple = (String) expression.accept(new JdbcSimpleStringVisitor());

There is currently (released version 4.2.0) no API exposure for this functionality. 当前(发布的版本4.2.0)没有此功能的API公开。

You could set a dependency to the server-core module directly and call "new Parser(edm,odata).parseUri(final String path, final String query, final String fragment)" 您可以直接设置对服务器核心模块的依赖关系,然后调用“ new Parser(edm,odata).parseUri(最终字符串路径,最终字符串查询,最终字符串片段)”

or use the filter parser direclty by creating a UriTokenizer and then calling "FilterParserparse(UriTokenizer tokenizer, final EdmType referencedType, final Collection crossjoinEntitySetNames, final Map aliases)" 或通过创建UriTokenizer然后调用“ FilterParserparse(UriTokenizer令牌生成器,最终EdmType referencedType,最终Collection crossjoinEntitySetNames,最终Map别名)来使用筛选器解析器的直接性”

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM