Support exporting objects providing multiple interfaces
Bug #342413 reported by
Francis J. Lacoste
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lazr.restful |
Fix Released
|
High
|
Guilherme Salgado |
Bug Description
The API infrastructure currently rely on the fact that we mix in all the interfaces provided by an object into an "aggregated" interface. For example, IProduct extends IBugTarget, IHasMilestones, etc.
But with the current architecture, if multiple interfaces are provided by the implementation, only one of them will be used for the entry representation.
The representation should really be the aggregation of all the exported interfaces of the objects.
Related branches
lp:~salgado/lazr.restful/extension-interfaces
- Gary Poster: Approve
- Leonard Richardson (community): Needs Fixing
-
Diff: 1498 lines (+792/-121)16 files modifiedsrc/lazr/restful/NEWS.txt (+10/-0)
src/lazr/restful/_resource.py (+14/-13)
src/lazr/restful/declarations.py (+70/-32)
src/lazr/restful/docs/multiversion.txt (+15/-0)
src/lazr/restful/docs/webservice-declarations.txt (+65/-59)
src/lazr/restful/docs/webservice.txt (+28/-0)
src/lazr/restful/example/base/tests/test_integration.py (+1/-0)
src/lazr/restful/example/base_extended/README.txt (+22/-0)
src/lazr/restful/example/base_extended/__init__.py (+3/-0)
src/lazr/restful/example/base_extended/comments.py (+32/-0)
src/lazr/restful/example/base_extended/site.zcml (+18/-0)
src/lazr/restful/example/base_extended/tests/test_integration.py (+38/-0)
src/lazr/restful/metazcml.py (+95/-16)
src/lazr/restful/testing/helpers.py (+45/-0)
src/lazr/restful/tests/test_declarations.py (+335/-0)
src/lazr/restful/version.txt (+1/-1)
Changed in launchpad-foundations: | |
importance: | Undecided → High |
status: | New → Triaged |
affects: | launchpad-foundations → lazr.restful |
tags: | added: tech-debt |
Changed in lazr.restful: | |
assignee: | nobody → Guilherme Salgado (salgado) |
status: | Triaged → In Progress |
Changed in lazr.restful: | |
status: | In Progress → Fix Committed |
Changed in lazr.restful: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Is this the same bug as providing a way to export adapters of objects already provided by the API?