On Fri, Feb 20, 2009 at 9:27 AM, Paul Lindner <[email protected]> wrote:
> Well, one thing we could do is this: > > * If a filter for a single user is supplied, then call getPeople. This > means that getPerson remains filter/sort free > * If no filter, then continue to call getPerson. Seems like a reasonable compromise that keeps the SPI intact. > > > On Feb 20, 2009, at 9:20 AM, Ian Boston wrote: > > Sorry, I didn't know.... it was talked about at length on list, but no one >> looked like there were interested. I will bow out and let those with more >> skin in the game decide. >> >> On 20 Feb 2009, at 17:12, Paul Lindner wrote: >> >> +1 on adding collectionOptions to getPerson() >>> >>> We too have a heavily optimized version of getPerson() that's now not >>> being called. >>> >>> >>> On Feb 20, 2009, at 9:03 AM, Ben Smith wrote: >>> >>> All sounds pretty reasonable. I'm going to have to bow out and let the >>>> committers come to the right decision. There is a patch for either option >>>> (that will probably need updating). >>>> >>>> Let me know what you decide. >>>> Ben >>>> >>>> On 20 Feb 2009, at 16:50, Adam Winer wrote: >>>> >>>> This breaks the interface in a worse way, and leaves the APIs broken >>>>> going >>>>> forward - one method that doesn't get called, and one method that >>>>> *thinks* >>>>> its returning a collection, but really isn't in some undocumented >>>>> cases. I >>>>> know it broke our servers when we upgraded (our implementation of >>>>> getPerson() was subtly different from getPeople(), and intentionally >>>>> so.) >>>>> Better to break APIs in a clear and simple way than do so cryptically. >>>>> We shouldn't be changing the service layer on the 1.0 branch, but we >>>>> can't >>>>> commit to API stability on trunk. >>>>> >>>>> On Fri, Feb 20, 2009 at 8:06 AM, Ben Smith <[email protected]> >>>>> wrote: >>>>> >>>>> That's what I suggested (and supplied a patch for) but Ian was keen >>>>>> not to >>>>>> break the interface for the service layer. >>>>>> >>>>>> >>>>>> On 20 Feb 2009, at 16:02, Adam Winer wrote: >>>>>> >>>>>> Speaking of this change: what got committed seems odd. For scalar >>>>>> >>>>>>> calls, PersonHandler now calls PersonService.getPeople(), and drops >>>>>>> all but the first result. PersonService.getPerson() is never called. >>>>>>> >>>>>>> It seems significantly cleaner to add CollectionOptions to >>>>>>> PersonService.getPerson() (and, perhaps, rename CollectionOptions). >>>>>>> Why did we go this route? Sorry that I didn't follow the discussion >>>>>>> the first time through. >>>>>>> >>>>>>> On Fri, Feb 20, 2009 at 1:39 AM, Ben Smith <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>> Hi Louis, sorry I missed this. >>>>>>>> >>>>>>>> I'll make sure I do this from now on. I thought it was something >>>>>>>> that >>>>>>>> commiters did, sorry for the omission. >>>>>>>> >>>>>>>> On 17 Feb 2009, at 17:40, Louis Ryan wrote: >>>>>>>> >>>>>>>> Ben >>>>>>>> >>>>>>>>> >>>>>>>>> Can you post this patch to codereview.appspot.com. Its become >>>>>>>>> working >>>>>>>>> practice to post changes that are likely to incur feedback there. >>>>>>>>> >>>>>>>>> -Louis >>>>>>>>> >>>>>>>>> On Sat, Feb 14, 2009 at 8:37 AM, Ben Smith (JIRA) <[email protected] >>>>>>>>> > >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> [ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> https://issues.apache.org/jira/browse/SHINDIG-918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel >>>>>>>>>> ] >>>>>>>>>> >>>>>>>>>> Ben Smith updated SHINDIG-918: >>>>>>>>>> ------------------------------ >>>>>>>>>> >>>>>>>>>> Attachment: SHINDIG-918-improvement.patch >>>>>>>>>> >>>>>>>>>> Has PersonHandler call getPeople for all types of request. >>>>>>>>>> >>>>>>>>>> Change to PersonHandler to allow filtering of requests - 0.9 >>>>>>>>>> >>>>>>>>>>> improvement >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>>>> >>>>>>>>>>> Key: SHINDIG-918 >>>>>>>>>>> URL: https://issues.apache.org/jira/browse/SHINDIG-918 >>>>>>>>>>> Project: Shindig >>>>>>>>>>> Issue Type: Improvement >>>>>>>>>>> Components: Java >>>>>>>>>>> Affects Versions: trunk >>>>>>>>>>> Reporter: Ben Smith >>>>>>>>>>> Fix For: trunk >>>>>>>>>>> >>>>>>>>>>> Attachments: SHINDIG-918-improvement.patch >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Calls for single people (say, /people/@me/@self) should be >>>>>>>>>>> filterable: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> http://opensocial-resources.googlecode.com/svn/spec/draft/REST-API.xml#standardQueryParameters >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Because PersonHandler calls PersonService.getPerson() for such >>>>>>>>>>> requests, >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> which doesn't accept CollectionOptions, the result can't be >>>>>>>>>> filtered. A >>>>>>>>>> patch in SHINDIG-904 solved this by changing the getPerson() >>>>>>>>>> method >>>>>>>>>> signature but after much discussion on the mailing list it was >>>>>>>>>> decided >>>>>>>>>> that >>>>>>>>>> a better solution would be to change PersonHandler to only call >>>>>>>>>> getPeople, >>>>>>>>>> and convert the RestfulCollection result to a single Person when >>>>>>>>>> calls >>>>>>>>>> for a >>>>>>>>>> single user are made (like, /people/@me/@self). >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Patch to follow. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> This message is automatically generated by JIRA. >>>>>>>>>> - >>>>>>>>>> You can reply to this email to add a comment to the issue online. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>> >>> >> >

