Bug 214694 - [prov] API - Any API that calls loadRepository should include a progress monitor in its signature
Summary: [prov] API - Any API that calls loadRepository should include a progress moni...
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Incubator (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.4 M5   Edit
Assignee: equinox.incubator-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks:
 
Reported: 2008-01-08 18:03 EST by Susan McCourt CLA
Modified: 2008-02-07 10:59 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Susan McCourt CLA 2008-01-08 18:03:47 EST
Now that repos are loaded lazily by the UI, and soft references are being used, all callers of loadRepository are potentially initiating a (very) long running operation.

We need to ensure that any API code path that calls loadRepository should have a way callers to specify a progress monitor.

Some I noticed right away:
IPlanner.updatesFor(IInstallableUnit toUpdate, URL[] metadataRepositories);
MetadataRepositoryElement.getQueryable()

Others that may be a problem, but probably ok because they are operating on local repos anyway:
FormerState.notify()
directorywatcher.RepositoryListener.stopPoll()

I already opened bug #214691 for the issue that the repo managers/factories need to honor cancellation in the progress monitors once they are there.
Comment 1 John Arthorne CLA 2008-01-11 17:33:28 EST
I have added a progress monitor to IPlanner.updatesFor, and wired the progress monitors for all methods on SimplePlanner so they are passed through when loading repositories.
Comment 2 John Arthorne CLA 2008-02-07 10:59:04 EST
Marking fixed. We'll fix up other cases as we come across them.