[aerogear-dev] paging: different client platforms

Kris Borchers kris at redhat.com
Fri Jan 11 11:52:31 EST 2013


On Jan 11, 2013, at 10:40 AM, Matthias Wessendorf <matzew at apache.org> wrote:

> On Fri, Jan 11, 2013 at 5:14 PM, Summers Pittman <supittma at redhat.com> wrote:
>> 
>> On 01/11/2013 07:46 AM, Matthias Wessendorf wrote:
>> 
>> Of course, sending simple request parameters to the server is easy, in
>> every library
>> 
>> (using Dan's CURL client example)
>> 
>> ```
>> URL="http://controllerdemo-danbev.rhcloud.com/aerogear-controller-demo"
>> curl -i --header "Accept: application/json" "$URL/cars?page=0&perPage=4"
>> ```
>> 
>> In terms of an client API, that wants to scroll through the cars (like
>> in this demo), I was wondering if some "PagingContext" (or
>> "ResultSet") API is needed...
>> 
>> // issues a request with ?page=0&perPage=4
>> PagingContext pc = client.request(someCars...);
>> 
>> // issues a request with ?page=0&perPage=4
>> pc.next()
>> 
>> // issues a request with ?page=1&perPage=4
>> pc.next()
>> 
>> // issues a request with ?page=0&perPage=4
>> pc.back()
>> 
>> 
>> NOT sure, but IMO a little higher level abstraction would be nice,
>> instead of having the end users of the "paging API" applying the
>> values for 'page' and 'perPage' manually.
>> 
>> Any thoughts? (Not sure if this has been brought up before)
>> 
>> -M
>> 
>> +1 for a higher level abstraction
>> 
>> As far as how it will mesh with Pipe and such I am thinking
>> 
>> https://gist.github.com/4511860
> 
> 
> Looks good!

+1

JS would probably call it something like getPaging() since the return is just an object the method needs to be more descriptive. JS would also probably provide access directly on the pipe object just as the pipes are on the Pipeline so something like:

myPipeline.pipes => array of pipe objects associate with this pipeline
myPipeline.pipes[0].paging => object containing paging info for the first pipe

> 
> -M
> 
> 
> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Fri, Jan 11, 2013 at 12:39 PM, Matthias Wessendorf <matzew at apache.org>
>> wrote:
>> 
>> Hi,
>> 
>> was there already some discussion (and proposal) for paging APIs on the
>> client ?
>> 
>> It would be nice if the public client API semantics are somewhat
>> identical on the different platforms.
>> (I guess it's a MUST :))
>> 
>> Any pointers to gists etc are welcome
>> 
>> Thx
>> 
>> --
>> Matthias Wessendorf
>> 
>> blog: http://matthiaswessendorf.wordpress.com/
>> sessions: http://www.slideshare.net/mwessendorf
>> twitter: http://twitter.com/mwessendorf
>> 
>> 
>> 
>> 
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>> 
> 
> 
> 
> -- 
> Matthias Wessendorf
> 
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev




More information about the aerogear-dev mailing list