Subclasses WorkspaceJob to benefit from resource change batching.
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java
index 3bd8ae8..f6c57c3 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java
@@ -11,6 +11,7 @@
package org.eclipse.team.internal.ui.jobs;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.WorkspaceJob;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
@@ -30,7 +31,7 @@
*
* There can be several refresh jobs created but they will be serialized.
*/
-public class RefreshSubscriberJob extends Job {
+public class RefreshSubscriberJob extends WorkspaceJob {
/**
* Uniquely identifies this type of job. This is used for cancellation.
@@ -118,7 +119,7 @@
* This is run by the job scheduler. A list of subscribers will be refreshed, errors will not stop the job
* and it will continue to refresh the other subscribers.
*/
- public IStatus run(IProgressMonitor monitor) {
+ public IStatus runInWorkspace(IProgressMonitor monitor) {
MultiStatus status = new MultiStatus(TeamPlugin.ID, TeamException.UNABLE, Policy.bind("Team.errorRefreshingSubscribers"), null); //$NON-NLS-1$
TeamSubscriber subscriber = getSubscriber();
IResource[] roots = getResources();