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> >>> > >> >> >> > > >> >>> > >> >> >> > > >>> > >> >> >> > >>> > >> >> >> >>> > >> >> >>> > >> >>> > > >>> > > >>> > >>> >> >> >
