On Fri, Feb 20, 2009 at 9:17 AM, Ian Boston <[email protected]> wrote: > Adam, > There was a long(ish) thread on this over 2 weeks. IMHO its not quite as > simple as that. > > The use of the getPeople was specified by the REST API was to > get all the people associated with one ID and then filter that set down to > match a single ID. > > getPerson gets the person specified in the call. How would the filter be > applied ? I think returning null depending on the filter would be almost as > confusing. > > Before suggesting that we didn't change the SPI, I read the javadoc for the > SPI and considered if a set of a single ID with a filter matched the SPI > specification. IMHO it did, hence the suggestion. > > Unfortunately getPeople does not return a structure of the correct form so > it needs to be processed without breaking the Future contract.
> > ------------------------------------ > > > As for the commit: In the past, we have reviewed patches in JIRA, talked > about them and the committed them. > > Have we changed the process to have all patches go into code review before > being comitted ? > I dont remember seeing any conclusions about this on list? No, there isn't any such requirement. Checking in without a review means there's a greater chance of someone griping after the commit, which is a bit more expensive for all concerned. That's what's happening now - which is all fine, and perfectly normal. The fact that people care is a Good Thing for the health of the project. > If this is the way we are supposed to be working, then what are the > thresholds requiring review. I realize that I haven't been able to do > anything for several months, manly because of the pressures of my > employment, so I might be out of touch. > > Ian > > > > 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. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>> >

