(btw Louis - this was already checked in by Ian as a patch from Adam)

On Tue, Sep 2, 2008 at 9:24 AM, Louis Ryan <[EMAIL PROTECTED]> wrote:

> +1
>
> On Wed, Aug 27, 2008 at 8:52 AM, Adam Winer <[EMAIL PROTECTED]> wrote:
>
> > Either at the handler layer or the servlet layer (I think the latter
> > is easier), but yes.
> >
> > On Wed, Aug 27, 2008 at 8:41 AM, Ian Boston <[EMAIL PROTECTED]> wrote:
> > > Is the intention to catch the SocialApiException somewhere near the
> > protocol
> > > handler and convert to a suitable error response ?
> > >
> > > If so, IMHO +1
> > >
> > > Ian
> > >
> > > On 27 Aug 2008, at 16:30, Adam Winer wrote:
> > >
> > >> Since we're trying to clean up the codebase to freeze it:  I'd like to
> > >> clean up a few items in the Service APIs.
> > >>
> > >> (1) Get error code and message out of
> > >> RestfulItem/RestfulCollection/DataCollection and into an exception,
> > >> so:
> > >>
> > >> PersonService {
> > >>  Future<RestfulCollection<Person>> getPeople(...);
> > >>  Future<RestfulItem<Person>> getPerson(...);
> > >> }
> > >>
> > >> becomes:
> > >>
> > >> PersonService {
> > >>  // Note: the Future may also throw a SocialApiException (wrapped in
> > >> an EvaluationException)
> > >>  Future<RestfulCollection<Person>> getPeople(...) throws
> > >> SocialApiException
> > >>  Future<Person> getPerson(...) throws SocialApiException
> > >> }
> > >>
> > >> RestfulItem goes away entirely, and RestfulCollection doesn't extend
> > >> ResponseItem.  ResponseItem can entirely disappear from the SPI, and
> > >> can move out of org.apache.shindig.social and into
> > >> o.a.s.s.opensocial.service alongside of RequestItem.
> > >>
> > >> One advantage of this change is that it makes it easy to write generic
> > >> preconditions across datatypes, and gets rid of early returns from
> > >> service implementations, which are a bit of a code smell.
> > >>
> > >> (2) ResponseError should go somewhere other than the top package - I
> > >> think it belongs in opensocial.model.
> > >>
> > >> (3) Mutators should be able to return Void instead of an untyped
> Object,
> > >> so:
> > >>
> > >>  Future<ResponseItem> createActivity(...);
> > >>
> > >> becomes;
> > >>
> > >>  Future<Void> createActivity(...) throws SocialApiException;
> > >>
> > >> -- Adam Winer
> > >
> > >
> >
>

Reply via email to