Generating an EDM off a Grails domain model shouldn't be too much of an issue. I can add dynamic methods on the domain classes to do the work.
On Mon, Dec 9, 2013 at 6:09 PM, Klevenz, Stephan <[email protected]>wrote: > Yes. At UriParser facade there is another method for parsing OData path > segments. Drawback is that you have to provide an EDM because of OData > grammar is not context free. > > -- Stephan > > On 09.12.13 02:02, "Peter Kelley" <[email protected]> wrote: > > >Would this mechanism be suitable for gaining access to a complete URL > >parse > >tree? I'm thinking of implementing a Grails plugin that exposes a Grails > >domain class model via OData and looking at Olingo to provide URL parsing > >which I could then use to provide the implementation using Grails. > > > > > >On Sat, Dec 7, 2013 at 2:32 AM, Sergey Beryozkin > ><[email protected]>wrote: > > > >> Hi Stephan > >> > >> On 06/12/13 14:17, Klevenz, Stephan wrote: > >> > >>> Hi Sergey, > >>> > >>> try this: > >>> > >>> FilterExpression filterExpression = UriParser.parseFilter(null, > >>>null, > >>> "Name eq 'Milk' and Price lt '2.55M'"); > >>> > >>> The metadata objects are optional and can be null. If they are set then > >>> the parser will validate the filter. > >>> > >>> And you'll find a tutorial about how to proceed with the expression > >>>here: > >>> > >>> > >>> > >>> http://olingo.incubator.apache.org/doc/tutorials/ > >>> Olingo_Tutorial_AdvancedRe > >>> ad_FilterVisitor.html > >>> > >>> > >>> Let us know if you require more information. > >>> > >>> I think this is exactly what we need, thanks a mill, how did I miss > >>>that > >> link ? :-) > >> > >> Cheers, Sergey > >> > >> > >> Regards, > >>> Stephan > >>> > >>> > >>> > >>> On 06.12.13 11:28, "Sergey Beryozkin" <[email protected]> wrote: > >>> > >>> Hi > >>>> > >>>> This may be a user-level question but I haven't been able to find a > >>>> users forum. > >>>> > >>>> I've checked several Olingo titorials, they are very good and detailed > >>>> at explaining how custom extensions and providers can be registered > >>>>with > >>>> Olingo core for Olingo to drive the proper exposition of the data. > >>>> > >>>> What I'd like to understand, and I think this can be of interest to > >>>>many > >>>> users planning to do some work with the help of Olingo, is how to get > >>>> Olingo Parser and other relevant API used directly. > >>>> > >>>> For example, suppose I write a standalone JAX-RS application which has > >>>> no OData support yet: > >>>> > >>>> @GET > >>>> @Path("/books/{id}") > >>>> public Book getBookById(@PathParam("id") String id) { > >>>> // > >>>> } > >>>> > >>>> Now I'd like to provide the way for users to search for Books. And I'd > >>>> like to try OData, so I add another method to my JAX-RS resource: > >>>> > >>>> @GET > >>>> @Path("/books") > >>>> public List<Book> findBooks(@QueryParam("$filter") String odataQuery) > >>>>{ > >>>> > >>>> } > >>>> > >>>> In order to implement this method I'd like to know how I can use > >>>>OLingo > >>>> parser to parse a captured $filter expression and how to introspect > >>>>the > >>>> parser output in order to build an actual DB query, lets say SQL one. > >>>> > >>>> Perhaps a tutorial can be added ? > >>>> For example, lets say a findBooks() Method captures a > >>>> > >>>> "Name eq 'Milk' and Price lt '2.55M'" > >>>> > >>>> expression. How would one go and convert it to SQL with the help of > >>>> Olingo withing the *existing* JAX-RS application ? > >>>> > >>>> Thanks, Sergey > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>> > >> > > > > > >-- > > > >Peter Kelley > > -- Peter Kelley
