Hi Preston and Steven, I have started on the implementation so that you can get a better idea on what I'm suggesting. What I have done so far can be found at [1]. Also I have made some improvements in my proposal as well. It will be great if you can provide further feedback on them as well.
Thank you! [1] https://github.com/erandiganepola/vxquery *Erandi Ganepola* Undergraduate BSc. Management and Information Technology (IT Sp.) University of Kelaniya, Sri Lanka <https://www.linkedin.com/in/erandiganepola/> <https://github.com/erandiganepola> <https://twitter.com/erandiganepola> On Sat, Apr 1, 2017 at 2:59 PM, Erandi Ganepola <[email protected]> wrote: > Hi Preston and Steven, > > I was going through the initial steps of implementation. For the REST > server, I thought of using jersey [1] as the JAX-RS implementation to be > used since it is easy to use and matured. Can you kindly let me know what > do you think of my choice? > > Thank you! > > [1] https://jersey.java.net > > *Erandi Ganepola* > Undergraduate > BSc. Management and Information Technology (IT Sp.) > University of Kelaniya, Sri Lanka > > <https://www.linkedin.com/in/erandiganepola/> > <https://github.com/erandiganepola> <https://twitter.com/erandiganepola> > > On Thu, Mar 30, 2017 at 12:05 PM, Erandi Ganepola < > [email protected]> wrote: > >> Hi Steven, >> >> I have updated my proposal a bit. I have added a section on my other >> contributions during the period of GSoC as well. Can you kindly give a >> feedback on that as well. >> >> Thank you! >> >> *Erandi Ganepola* >> Undergraduate >> BSc. Management and Information Technology (IT Sp.) >> University of Kelaniya, Sri Lanka >> >> <https://www.linkedin.com/in/erandiganepola/> >> <https://github.com/erandiganepola> >> <https://twitter.com/erandiganepola> >> >> On Wed, Mar 29, 2017 at 7:38 AM, Erandi Ganepola < >> [email protected]> wrote: >> >>> Hi Steven, >>> >>> Thank you very much. I will look in to that and do the improvements. >>> >>> Regards, >>> Erandi >>> >>> *Erandi Ganepola* >>> Undergraduate >>> BSc. Management and Information Technology (IT Sp.) >>> University of Kelaniya, Sri Lanka >>> >>> <https://www.linkedin.com/in/erandiganepola/> >>> <https://github.com/erandiganepola> >>> <https://twitter.com/erandiganepola> >>> >>> On Wed, Mar 29, 2017 at 12:14 AM, Steven Jacobs <[email protected]> >>> wrote: >>> >>>> Erandi- Great proposal overall! >>>> I put a few comments in the draft for you to address. >>>> Thanks, >>>> Steven >>>> >>>> On Tue, Mar 28, 2017 at 10:52 AM, Erandi Ganepola < >>>> [email protected]> >>>> wrote: >>>> >>>> > Hi Jacob and Preston, >>>> > >>>> > I have submitted my draft proposal to GSoC site. Please give your >>>> valuable >>>> > feedback. >>>> > >>>> > Thanks and Regards, >>>> > Erandi >>>> > >>>> > >>>> > *Erandi Ganepola* >>>> > Undergraduate >>>> > BSc. Management and Information Technology (IT Sp.) >>>> > University of Kelaniya, Sri Lanka >>>> > >>>> > <https://www.linkedin.com/in/erandiganepola/> >>>> > <https://github.com/erandiganepola> <https://twitter.com/erandiga >>>> nepola> >>>> > >>>> > On Tue, Mar 28, 2017 at 10:07 AM, Erandi Ganepola < >>>> > [email protected]> >>>> > wrote: >>>> > >>>> > > Hi Preston, >>>> > > >>>> > > Then I will not consider about the rest API authentication for now. >>>> I was >>>> > > thinking on using jax-rs to implement the REST-API server. Is that >>>> ok? >>>> > > >>>> > > *Erandi Ganepola* >>>> > > Undergraduate >>>> > > BSc. Management and Information Technology (IT Sp.) >>>> > > University of Kelaniya, Sri Lanka >>>> > > >>>> > > <https://www.linkedin.com/in/erandiganepola/> >>>> > > <https://github.com/erandiganepola> <https://twitter.com/ >>>> > erandiganepola> >>>> > > >>>> > > On Tue, Mar 28, 2017 at 9:32 AM, Preston Carman < >>>> [email protected]> >>>> > > wrote: >>>> > > >>>> > >> At this point, we are not implementing auth support. In the >>>> future, we >>>> > >> will consider this feature once Hyracks supports this option. >>>> > >> >>>> > >> On Mon, Mar 27, 2017 at 8:45 PM, Erandi Ganepola >>>> > >> <[email protected]> wrote: >>>> > >> > Hi Preston, >>>> > >> > >>>> > >> > Thank you for the comment in JIRA and this clarification. Now I >>>> get >>>> > the >>>> > >> > idea. One more thing, should the REST API be implemented with >>>> auth >>>> > >> support? >>>> > >> > >>>> > >> > >>>> > >> > *Erandi Ganepola* >>>> > >> > Undergraduate >>>> > >> > BSc. Management and Information Technology (IT Sp.) >>>> > >> > University of Kelaniya, Sri Lanka >>>> > >> > >>>> > >> > <https://www.linkedin.com/in/erandiganepola/> >>>> > >> > <https://github.com/erandiganepola> < >>>> https://twitter.com/erandiga >>>> > >> nepola> >>>> > >> > >>>> > >> > On Tue, Mar 28, 2017 at 8:39 AM, Preston Carman < >>>> [email protected]> >>>> > >> wrote: >>>> > >> > >>>> > >> >> One clarifying comment about the CLI and the proposed >>>> interfaces. >>>> > >> >> >>>> > >> >> The CLI handles two methods of executing a query: on a cluster >>>> and >>>> > >> >> when no cluster is specified. When a cluster is specified, the >>>> query >>>> > >> >> should be submitted to the RESTful API. As for when a cluster >>>> does >>>> > not >>>> > >> >> exist, the CLI creates a temporary cluster to execute the >>>> query. The >>>> > >> >> same process can continue, but now we have the option of using >>>> the >>>> > >> >> current method or update to using the RESTful API of the >>>> temporary >>>> > >> >> cluster. >>>> > >> >> >>>> > >> >> Basically, we should always use the RESTful API when possible >>>> so we >>>> > >> >> only need to support one API. >>>> > >> >> >>>> > >> >> On Mon, Mar 27, 2017 at 6:43 PM, Erandi Ganepola >>>> > >> >> <[email protected]> wrote: >>>> > >> >> > Hi Steven, >>>> > >> >> > >>>> > >> >> > I will complete and submit my draft proposal today. >>>> > >> >> > >>>> > >> >> > Thanks for the quick response! >>>> > >> >> > >>>> > >> >> > *Erandi Ganepola* >>>> > >> >> > Undergraduate >>>> > >> >> > BSc. Management and Information Technology (IT Sp.) >>>> > >> >> > University of Kelaniya, Sri Lanka >>>> > >> >> > >>>> > >> >> > <https://www.linkedin.com/in/erandiganepola/> >>>> > >> >> > <https://github.com/erandiganepola> <https://twitter.com/ >>>> > >> >> erandiganepola> >>>> > >> >> > >>>> > >> >> > On Tue, Mar 28, 2017 at 2:41 AM, Steven Jacobs < >>>> [email protected]> >>>> > >> wrote: >>>> > >> >> > >>>> > >> >> >> Erandi, >>>> > >> >> >> If you have time, I recommend that you submit your proposal >>>> draft >>>> > >> early >>>> > >> >> >> (today?). That we we can provide feedback on the proposal >>>> before >>>> > the >>>> > >> >> final >>>> > >> >> >> copy is due next Monday. >>>> > >> >> >> Steven >>>> > >> >> >> >>>> > >> >> >> On Sun, Mar 26, 2017 at 4:21 AM, Erandi Ganepola < >>>> > >> >> [email protected] >>>> > >> >> >> > >>>> > >> >> >> wrote: >>>> > >> >> >> >>>> > >> >> >> > Hi Jacob and Preston, >>>> > >> >> >> > >>>> > >> >> >> > Sorry for the late reply. Thanks for sharing more >>>> information on >>>> > >> the >>>> > >> >> >> > project. I went through the links you had shared, >>>> swagger.io >>>> > [1] >>>> > >> and >>>> > >> >> the >>>> > >> >> >> > REST API definition (swagger configuration) [2] in the wiki >>>> > >> pages. I >>>> > >> >> now >>>> > >> >> >> > have a better idea on what is to be done. >>>> > >> >> >> > >>>> > >> >> >> > As I understand, we can build the server (I'm thinking of >>>> > JAX-RS. >>>> > >> >> What do >>>> > >> >> >> > you think?) directly from swagger to match our definition. >>>> Then >>>> > I >>>> > >> will >>>> > >> >> >> have >>>> > >> >> >> > to modify the generated server code to integrate >>>> query/request >>>> > >> >> processing >>>> > >> >> >> > to VXQuery core. This way, we will only be generating the >>>> > request >>>> > >> >> >> handling >>>> > >> >> >> > part, not the request processing part. >>>> > >> >> >> > >>>> > >> >> >> > While I'm going through the CLI module [3], I saw that you >>>> are >>>> > >> parsing >>>> > >> >> >> > command line arguments (CmdLineOptions class) and executing >>>> > >> VXQuery >>>> > >> >> >> > instances accordingly. In the server side of the REST API, >>>> we >>>> > >> need to >>>> > >> >> >> have >>>> > >> >> >> > a such mechanism to convert the request parameters >>>> (similarly to >>>> > >> the >>>> > >> >> >> > options above) to options and then execute the queries. >>>> But the >>>> > >> doubt >>>> > >> >> I >>>> > >> >> >> > have is, then we will be doing some kind of duplication in >>>> the >>>> > >> same >>>> > >> >> >> > operations which are already in the CLI classes. >>>> > >> >> >> > >>>> > >> >> >> > Therefore what I think is that I should come up with an >>>> > >> intermediate >>>> > >> >> >> layer >>>> > >> >> >> > (probably a set of interfaces that can be used as the API >>>> for >>>> > >> both CLI >>>> > >> >> >> and >>>> > >> >> >> > the REST API) which will generalize the query execution >>>> among >>>> > the >>>> > >> CLI >>>> > >> >> and >>>> > >> >> >> > the REST API in the future. >>>> > >> >> >> > >>>> > >> >> >> > It will be better you can provide me with your kind >>>> suggestions >>>> > >> and >>>> > >> >> >> > feedback so that I can add an improved design to my project >>>> > >> proposal. >>>> > >> >> >> > >>>> > >> >> >> > Thanks in advance! >>>> > >> >> >> > >>>> > >> >> >> > [1] http://swagger.io >>>> > >> >> >> > [2] >>>> > >> >> >> > https://cwiki.apache.org/confluence/display/VXQUERY/ >>>> > >> >> >> > SwaggerIO+Configuration >>>> > >> >> >> > [3] >>>> > >> >> >> > https://github.com/apache/vxquery/blob/master/vxquery- >>>> > >> >> >> > cli/src/main/java/org/apache/vxquery/cli/VXQuery.java >>>> > >> >> >> > >>>> > >> >> >> > Kind Regards, >>>> > >> >> >> > *Erandi Ganepola* >>>> > >> >> >> > Undergraduate >>>> > >> >> >> > BSc. Management and Information Technology (IT Sp.) >>>> > >> >> >> > University of Kelaniya, Sri Lanka >>>> > >> >> >> > >>>> > >> >> >> > <https://www.linkedin.com/in/erandiganepola/> >>>> > >> >> >> > <https://github.com/erandiganepola> < >>>> https://twitter.com/ >>>> > >> >> >> erandiganepola> >>>> > >> >> >> > >>>> > >> >> >> > On Mon, Mar 20, 2017 at 10:32 PM, Preston Carman < >>>> > >> [email protected] >>>> > >> >> > >>>> > >> >> >> > wrote: >>>> > >> >> >> > >>>> > >> >> >> > > Hi Erandi, >>>> > >> >> >> > > >>>> > >> >> >> > > Similar to my comment on the issue. Our goal is to get a >>>> Web >>>> > >> >> Interface >>>> > >> >> >> > > for executing queries. To achieve this goal we have three >>>> > steps: >>>> > >> >> >> > > >>>> > >> >> >> > > 1. Implement a RESTful API (most of the documentation is >>>> > >> complete) >>>> > >> >> >> > > 2. Update current query execution path to use the >>>> RESTful API >>>> > >> >> (command >>>> > >> >> >> > > line query execution) >>>> > >> >> >> > > 3. Implement a simple web interface for single query >>>> execution >>>> > >> >> >> > > 4. Update the web interface for more advance operations >>>> > (showing >>>> > >> >> query >>>> > >> >> >> > > plans, asynchronous jobs, etc.) >>>> > >> >> >> > > >>>> > >> >> >> > > Our sister project AsterixDB has designed a HTTP API we >>>> would >>>> > >> like >>>> > >> >> to >>>> > >> >> >> > > emulate: https://cwiki.apache.org/ >>>> > confluence/display/ASTERIXDB/ >>>> > >> >> >> > > New+HTTP+API+Design. >>>> > >> >> >> > > Both projects build on Hyracks and in the future could >>>> move >>>> > the >>>> > >> API >>>> > >> >> >> > > into into this shared dependent project. Consider these >>>> tasks >>>> > >> and >>>> > >> >> your >>>> > >> >> >> > > skill level and come up with what steps you think you >>>> could >>>> > >> achieve >>>> > >> >> >> > > during the summer. >>>> > >> >> >> > > >>>> > >> >> >> > > Let us know if you have specific questions. >>>> > >> >> >> > > >>>> > >> >> >> > > On Sat, Mar 18, 2017 at 8:48 AM, Vinayak Borkar < >>>> > >> [email protected] >>>> > >> >> > >>>> > >> >> >> > > wrote: >>>> > >> >> >> > > > I love the way this email expresses interest in >>>> $subject. It >>>> > >> >> >> indicates >>>> > >> >> >> > a >>>> > >> >> >> > > > good grasp of XQuery variables. >>>> > >> >> >> > > > >>>> > >> >> >> > > > On Mar 18, 2017 08:39, "Erandi Ganepola" < >>>> > >> >> [email protected]> >>>> > >> >> >> > > wrote: >>>> > >> >> >> > > > >>>> > >> >> >> > > >> Hi All, >>>> > >> >> >> > > >> >>>> > >> >> >> > > >> I am a final year undergraduate of University of >>>> Kelaniya, >>>> > >> Sri >>>> > >> >> >> Lanka. >>>> > >> >> >> > I >>>> > >> >> >> > > >> have been a proud user of open source products and a >>>> > >> contributor >>>> > >> >> >> > too. I >>>> > >> >> >> > > >> have completed internships at *WSO2 Lanka (Pvt) Ltd* >>>> (which >>>> > >> is a >>>> > >> >> >> > leading >>>> > >> >> >> > > >> open source middleware company http://wso2.com/) and >>>> at >>>> > >> *Huawei >>>> > >> >> >> > > >> Technologies-Headquarters, China*. Currently I'm >>>> involved >>>> > in >>>> > >> >> machine >>>> > >> >> >> > > >> learning and natural language processing related >>>> research >>>> > >> >> projects. >>>> > >> >> >> I >>>> > >> >> >> > am >>>> > >> >> >> > > >> passionate in Computer Science and I have a strong >>>> interest >>>> > >> >> towards >>>> > >> >> >> > open >>>> > >> >> >> > > >> source developments. >>>> > >> >> >> > > >> >>>> > >> >> >> > > >> I am interested in $subject. I went through the issue >>>> and >>>> > >> got a >>>> > >> >> >> brief >>>> > >> >> >> > > >> understanding >>>> > >> >> >> > > >> on the task. >>>> > >> >> >> > > >> >>>> > >> >> >> > > >> Can anyone kindly give me further guidance on the >>>> scope of >>>> > >> the >>>> > >> >> >> project >>>> > >> >> >> > > to >>>> > >> >> >> > > >> proceed? Your valuable information is highly >>>> appreciated. >>>> > >> >> >> > > >> >>>> > >> >> >> > > >> Thanks and Regards, >>>> > >> >> >> > > >> >>>> > >> >> >> > > >> *Erandi Ganepola* >>>> > >> >> >> > > >> Undergraduate >>>> > >> >> >> > > >> BSc. Management and Information Technology (IT Sp.) >>>> > >> >> >> > > >> University of Kelaniya, Sri Lanka >>>> > >> >> >> > > >> >>>> > >> >> >> > > >> <https://www.linkedin.com/in/erandiganepola/> >>>> > >> >> >> > > >> <https://github.com/erandiganepola> < >>>> > https://twitter.com/ >>>> > >> >> >> > > erandiganepola> >>>> > >> >> >> > > >> >>>> > >> >> >> > > >>>> > >> >> >> > >>>> > >> >> >> >>>> > >> >> >>>> > >> >>>> > > >>>> > > >>>> > >>>> >>> >>> >> >
