Return-Path: Delivered-To: apmail-incubator-esme-dev-archive@minotaur.apache.org Received: (qmail 384 invoked from network); 29 Oct 2009 14:58:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Oct 2009 14:58:44 -0000 Received: (qmail 82612 invoked by uid 500); 29 Oct 2009 14:58:43 -0000 Delivered-To: apmail-incubator-esme-dev-archive@incubator.apache.org Received: (qmail 82569 invoked by uid 500); 29 Oct 2009 14:58:43 -0000 Mailing-List: contact esme-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: esme-dev@incubator.apache.org Delivered-To: mailing list esme-dev@incubator.apache.org Received: (qmail 82559 invoked by uid 99); 29 Oct 2009 14:58:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Oct 2009 14:58:43 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00 X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of hirsch.dick@gmail.com designates 216.239.58.188 as permitted sender) Received: from [216.239.58.188] (HELO gv-out-0910.google.com) (216.239.58.188) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Oct 2009 14:58:39 +0000 Received: by gv-out-0910.google.com with SMTP id c6so301636gvd.17 for ; Thu, 29 Oct 2009 07:58:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=QuhZZ64EWUCWAZ5hMserMOBBwgq58S2nmzI+XjJPITg=; b=A1b8zj8wbjPSQoby7Rc7WxO9IETsI0iHAfvugCuy2FgmD5g1GUpqvqM2QwxvF9/63p xDLMjLWVi/y9TpLvY2LMDeBnXq+6ovkAoMZHpuZ2iESMqfMcVdaRnjSg5Ke7HZYWr7Tf /s7mTGi+OapRhlPSmflkH82g9drjd/IyOtd3Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=s7o5UzOGVTw/Q12Ab7IEX7y6UzG8Msu/wsiQRCEIHd0jXG6SKp0Vce/nr5DTVcs+DS VLaSa/dMEhmLbzqstyzgfOwSiLSOUGSXu+YDm/CR7YnYf4iV8zb96nz02Z/qqYF1nTP2 3c/IS5psacngzlKNYfeopvyhblHPaS+LV/z30= MIME-Version: 1.0 Received: by 10.103.84.30 with SMTP id m30mr74159mul.23.1256828298085; Thu, 29 Oct 2009 07:58:18 -0700 (PDT) In-Reply-To: <68f4a0e80910290751i213585b0i132d2d81cb52149c@mail.gmail.com> References: <68f4a0e80910251728te9c1248j10f1aa99c9f7cd2e@mail.gmail.com> <68f4a0e80910270917r408588fbva0f47e73125afa4d@mail.gmail.com> <68f4a0e80910290751i213585b0i132d2d81cb52149c@mail.gmail.com> Date: Thu, 29 Oct 2009 15:58:17 +0100 Message-ID: Subject: Re: Patch submitted, working towards API design From: Richard Hirsch To: esme-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Looking forward to seing the next version. I'll do a deplyoment after I see the code updated in Jira. D. On Thu, Oct 29, 2009 at 3:51 PM, Ethan Jewett wrote: > I'm hoping to be able to expand on that this weekend a bit. I'm > updating http://cwiki.apache.org/confluence/display/ESME/API+2.0+-+Design > to keep track a bit, and if people want more resources in the API they > should add them there (and discuss on this list). > > Currently Tags have been left out, Searches are an item that we might > want to add, and there are no stream-based interfaces to message > queues, which I now agree are very important. Lots of work to do there > :-) I'll try to get this stuff written up and into Jira over the > weekend. > > Ethan > > On Thu, Oct 29, 2009 at 10:19 AM, Richard Hirsch wrote: >> I've committed the changes - what is missing in the API? >> >> D. >> >> On Tue, Oct 27, 2009 at 5:17 PM, Ethan Jewett wrote: >>> This is working on Stax! >>> >>> On Tue, Oct 27, 2009 at 3:41 AM, Richard Hirsch wrote: >>>> The new api is deployed on stax. >>>> >>>> D. >>>> >>>> On Mon, Oct 26, 2009 at 8:09 AM, Richard Hirsch wrote: >>>>> I don't see any probs with putting this in the trunk. The existing >>>>> rest api remains unchanged. >>>>> >>>>> D. >>>>> >>>>> On Mon, Oct 26, 2009 at 1:28 AM, Ethan Jewett wrote: >>>>>> Hi all, >>>>>> >>>>>> This has been cooking for a little while (I think it was about 6 month >>>>>> ago that I mentioned I should put my money/code where my mouth was), >>>>>> but I finally submitted a patch for the ESME-14 Jira issue >>>>>> (https://issues.apache.org/jira/browse/ESME-14). This patch creates a >>>>>> new branch called "new_api". The sole purpose of this branch is to >>>>>> create a new API endpoint /api2/ where we can start converting the API >>>>>> to a format that aligns with discussions occurring on the wiki >>>>>> (http://cwiki.apache.org/confluence/display/ESME/API+2.0+-+Design). >>>>>> >>>>>> The current diff has a working API at /api2/ that has pretty much the >>>>>> same methods as the old one (I just copied them after all), but >>>>>> arranged in the resource/object hierarchy outlined on the wiki. I've >>>>>> also moved some parameters out of the query (part of the URL after the >>>>>> ?) and into the path of the URL, when these parameters actually refer >>>>>> to resources/objects. >>>>>> >>>>>> The diff should actually exist nicely alongside the existing API and >>>>>> functionality, but I figured the easiest and safest way to get it in >>>>>> initial was in a branch. >>>>>> >>>>>> Here's what I'm looking at doing next, not necessarily in this order: >>>>>> >>>>>> 1. Create new handlers to fill out the object/resource hierarchy >>>>>> 2. Fix up the existing code in the API2.scala file so that it all >>>>>> behaves the same way >>>>>> 3. Work on aligning and documenting the naming of parameters that API >>>>>> handlers expect >>>>>> 4. Work on accepting XML or JSON representations of new or changed >>>>>> resources, rather than using query parameters >>>>>> 5. Write tests/specs (I'm working on figuring out how to do this. Any >>>>>> pointers on how to make an HTTP request from Scala/Lift would be >>>>>> extremely helpful, as I think this is level at which I need to test >>>>>> the API.) >>>>>> >>>>>> See the wiki page for longer-term discussions and approaches. >>>>>> >>>>>> Any comments or questions? I've got to note that this is the first >>>>>> Scala I've ever written (though truly, it's mostly copied and adjusted >>>>>> at this point) outside of examples from books, so please please please >>>>>> tell me how I should be doing things differently. >>>>>> >>>>>> Thanks, >>>>>> Ethan >>>>>> >>>>> >>>> >>> >> >