[
https://issues.apache.org/jira/browse/OLINGO-730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14699376#comment-14699376
]
Christian Holzer commented on OLINGO-730:
-----------------------------------------
3.) $search has returned an HTTP response code 500. Fixed to 501 Not
Implemented.
Inline $search options lead to a bad request caused by a false lexer state.
I added the Follow-set of $search to the MODE_SYSTEM_QUERY_SEARCH state, so
the state is popped if a member of the Follow-set has being matched.
Inlined $search options now lead also to HTTP status code 501 Not Implemented
See
[OLINGO-730|https://git-wip-us.apache.org/repos/asf?p=olingo-odata4.git;a=commit;h=262cee8b7e4ed892d14749506f8daf6c35d0c6ac]
> UriLexer.g4 and UriParser.g4 grammar mistake
> --------------------------------------------
>
> Key: OLINGO-730
> URL: https://issues.apache.org/jira/browse/OLINGO-730
> Project: Olingo
> Issue Type: Bug
> Components: odata4-server
> Affects Versions: (Java) V4 4.0.0-beta-03
> Environment: MAC OSX 10.8
> ANTLR 4.1
> Reporter: Fang Yimeng
> Assignee: Christian Holzer
> Priority: Minor
>
> 1. UriLexer.g4 line 74-79:
> //JSON support
> BEGIN_OBJECT : WS*('{'/'%7B')WS*;
> END_OBJECT : WS*('}'/'%7D')WS*;
> BEGIN_ARRAY : WS*('['/'%5B')WS*;
> END_ARRAY :WS*(']'/'%5D')WS*;
> I think '/' here means alternative, should '/' is replaced with '|'?
> 2. UriParser.g4 line 66:
> pathSegment : vNS=namespace? vODI=odataIdentifier
> vlNVO+=nameValueOptList*;
> I read the ABNF of
> OData4(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/abnf/odata-abnf-construction-rules.txt),
> and find out each pathSegment should only has one nameValueOptList, for the
> reason that:
> collectionNavPath = keyPredicate [ singleNavigation ]
> so should line 66 be like this:
> pathSegment : vNS=namespace? vODI=odataIdentifier
> vlNVO=nameValueOptList?;
> 3. When I trying odata string like this: User?$expand=Friends($search=a), I
> got error showing me that "$search" is invalid. This is caused by needing
> SEARCH while presenting SEARCHINLINE. We can modify UriParser.g4 like this:
> expandCountOption : filter | searchInline;
> and modify UriLexer.g4 like this:
> SEARCHWORD: ('a'..'z'|'A'..'Z')+ ->popMode;
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)