| Summary: | ProvUIProvisioningListener treats all repo changes as added metadata | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | John Arthorne <john.arthorne> |
| Component: | p2 | Assignee: | Susan McCourt <susan> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | 3.6 | ||
| Target Milestone: | 3.6 M5 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
John Arthorne
Right now this code is relying on the knowledge of what the receivers do with the information. We refresh the view completely if a repo gets added or removed, and if one gets added, we update the selection in the combo. This was kind of a stopgap to prevent the problem where everything blinks and selections get lost because of the underlying repo reference events. But it does need to get cleaned up. Originally I didn't use these events for artifact repos, but recently added them, so there does need to be a better description of what's happening, and probably this event should be recast as a "UserRepositoryEvent" or something like that. I'm marking M4 for now...at a minimum the api needs to be cleaned up coming out of the branch. As part of the cleanup in bug 295874, this code has moved around a bit. The two things I was trying to accomplish here were: 1 - the code that triggers the operation end event needs to be able to say what changed. I was trying to be agnostic about what kind of provisinoing operation might be involved and use an Object "item." As you mention, using a RepositoryEvent rather than a URI would be more specific. I ended up using an event in the method signature, and making it clear that the whole batching mechanism is in support of repo events, not any provisioning event. 2 - We still need to be able to treat some operations (in particular a repository load) as an add of that repository. This is needed for the combo selection to remain stable when repos are added in the background. So there is still a hack treats a load as an add, but at least it's more isolated now. I'm going to mark this one fixed because the hack is more specific/localized, and also better explained in the code. fixed. If you are curious, the hack is now in session.loadMetadataRepository had a better idea, the hack is now in the UI where it belongs. changing milestone to M5. The p2 api branch will be merged back into HEAD early in M5 verified on I20100126-0100, Win7 via source inspection. Batching is done in the UI and clients can now determine: - what event should be used as the "final" event - whether the UI should update as a result of this event |