| Summary: | Enable transitive role-based adapter bindings. | ||
|---|---|---|---|
| Product: | [Tools] GEF | Reporter: | Matthias Wienand <matthias.wienand> |
| Component: | GEF MVC | Assignee: | Alexander Nyßen <nyssen> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | nyssen |
| Version: | 0.2.0 | ||
| Target Milestone: | 5.0.0 (Oxygen) M4 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 509007 | ||
|
Description
Matthias Wienand
The preliminary use case behind this is that different adapter bindings can be specified for the different root parts of content and palette viewer, without having to bind the root parts themselves with specific roles. That is, it would be nice if the viewer role could simply be used in the adapter bindings for the root part adapters without having to specify the role for the root part (currently the root part itself is bound with the viewer role as a workaround). It would require that the adapter injector walks up the adaptable-adaptable.bound hierarchy to search for the respective role and not only evaluates the adaptable into which adapters are injected (i.e. the root part in this case) alone. Together with a correctly implemented transitive adaptable scoping (see bug #506330) this would cover most use cases, as soon as a whole graphical application is maintained as an adaptable-adaptable.bound hierarchy (see bug #506331). I pushed the following changes to origin/master: - Enhanced that adapter map bindings can now be restricted by specifying a context through adapter keys. - Made AdapterMapImpl package visible, as static methods within AdapterMaps should be used by clients to create a map binder with a respective binding annotation.. - Adjusted bindings in modules to no longer register root part with the content viewer role (which was a workaround), but restrict the binding to the content viewer context. Resolving as fixed in 5.0.0 (Oxygen) M4 (final contribution). |