On Mon, 29 Mar 2010 17:21:56 +0100, Jonathan Lange <j...@canonical.com> wrote:
> I think ultimately you'll need to be explicit. For example,
> IBranchTarget(sourcepackage).name != sourcepackage.name for any
> ISourcePackage.

Right, that's true, which pretty much rules out the invisible to clients
approach, unless a prefix is added.

  branch_target_name

would be ok in my eyes, but

  branchTargetNewCodeImport()

or similar would not be.

> There are interfaces which are adapted to that have writeable
> properties which change the database when written to.
> 
> Even if there weren't any that existed now, I think it would be
> misguided to constrain our object model to make the webservice
> implementation easier.

Agreed.

> > If there are writeable attributes in any adapted objects then you have
> > the choice between a PATCH to the object and it's adapted version that
> > would have to infer which attributes are associated with which object,
> > or two PATCH requests with the inherent atomicity concerns.
> >
> 
> I'd lean to the second – to being explicit. The atomicity concerns
> would not be unique to adapted objects.

True.

I think we are in agreement then.

There's pretty much nothing that would stop you implementing this
approach now, just without any sugar to make it easy to do so. Should I
have a look at doing it this way for IBranchTarget.newCodeImport()?

Actually, perhaps I don't want to volunteer for that, as I'm not sure
how I would implement the canonical url for IBranchTarget, given that it
would change based on the target, and IBranchTarget doesn't actually
have any attributes for gettting the original object.

Thanks,

James

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-dev
Post to     : launchpad-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to