Community
Participate
Working Groups
In Update manager, the user always had to select an individual site on which the subsequent install or update would operate. In p2, we don't force the user to choose a site, and everything is lumped together - all sites are consulted during every install/update operation. This is simpler for the user, but likely won't scale with a large number of repositories available. We should consider adding an enablement flag in the repository managers so the user could exclude certain sites from consideration without entirely deleting them from the list.
I will use bug #218534 to track the UI side of this.
I have released support for this in the repository manager APIs. Both managers now have a setEnabled(URL, boolean) method that allows a client to toggle whether a repository is enabled or not. Disabled repositories are excluded when calling getKnownRepositories unless the IRepository.REPOSITORIES_DISABLED flag is set. This allows a client to query for disabled repositories, but they will not appear for other kinds of queries. When broadcasting a discovery event, the event emitter can specify if the repository should be enabled or not by default. A new constructor was added to RepositoryEvent, and a new isRepositoryEnabled() method.
I had to add a getEnabled(URL location) to each repo manager so that the UI could properly display the enabled/disabled status when showing a full list of repos. Otherwise I would have had to query the repos with flags and then search the repo list for the repo in hand. This seemed a reasonable addition since we already had getRepositoryProperty(URL location, String name).