Re: [EGIT PATCH 7/9] Add a job to refresh projects when the index changes.
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Jul 11, 2008, 04:33 UTC
- Message-ID
- <20080711043317.GD32633@spearce.org>
- In-Reply-To
- <1215729651-26781-8-git-send-email-robin.rosenberg@dewire.com>
Robin Rosenberg <robin.rosenberg@dewire.com> wrote:
> +
> + static class RIRefresh extends Job implements RepositoryListener {...
Show 6 quoted lines
> + while (projectsToScan.size() > 0) {
> + IProject p;
> + synchronized (projectsToScan) {
> + if (projectsToScan.size() == 0) {
> + }
> + p = projectsToScan.iterator().next();This is going to throw some sort of no such element exception when you call next when projectsToScan is empty. You are missing a break inside of the if test that is meant to guard against this.
> + projectsToScan.remove(p); > + }
You have gone to the trouble of allocating the Iterator to obtain the next item, you should also just use it to do the deletion of the next item. Its quicker to let the Iterator do the remove as it already has the pointer to the proper element position.
-- Shawn.