Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2003-09-03 13:30:46 +0000
committerMichael Valenta2003-09-03 13:30:46 +0000
commit2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054 (patch)
tree0c983b591d45ae0f87b8b1db4b20d8cff907831e
parent6cd94ec26cc3d63ac5ab7bf7792f23ba2c23bce2 (diff)
downloadeclipse.platform.team-2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054.tar.gz
eclipse.platform.team-2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054.tar.xz
eclipse.platform.team-2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054.zip
41580: class circularity error upon startup
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java4
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ISubscriberManager.java69
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamSubscriber.java12
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/SubscriberManager.java (renamed from bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java)136
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java4
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java5
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java4
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/actions/SyncAllAction.java3
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java7
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java3
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java3
11 files changed, 182 insertions, 68 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
index 192a954af..d50905815 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/Team.java
@@ -46,7 +46,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.core.runtime.Status;
-import org.eclipse.team.core.subscribers.TeamProvider;
import org.eclipse.team.internal.core.Policy;
import org.eclipse.team.internal.core.StringMatcher;
import org.eclipse.team.internal.core.TeamPlugin;
@@ -59,8 +58,6 @@ import org.eclipse.team.internal.core.TeamPlugin;
*/
public final class Team {
- private static TeamProvider subscriberProvider;
-
public static final String PREF_TEAM_IGNORES = "ignore_files"; //$NON-NLS-1$
public static final String PREF_TEAM_TYPES = "file_types"; //$NON-NLS-1$
public static final String PREF_TEAM_SEPARATOR = "\n"; //$NON-NLS-1$
@@ -599,7 +596,6 @@ public final class Team {
}
}
}, IResourceChangeEvent.PRE_AUTO_BUILD);
- subscriberProvider = new TeamProvider();
}
/**
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ISubscriberManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ISubscriberManager.java
new file mode 100644
index 000000000..dbeb48a17
--- /dev/null
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ISubscriberManager.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.team.core.subscribers;
+
+import org.eclipse.core.runtime.QualifiedName;
+
+/**
+ * The subscriber manager is responsible for managing the team subscribers.
+ * It provides the ability to register and deregister subscribers and access
+ * all currently registered subscribers. It also fires events when subscribers
+ * are registered and deregistered.
+ */
+public interface ISubscriberManager {
+
+ /**
+ * Register a subscriber with the subscriber manager. The id of the subscriber
+ * (returned by <code>TeamSubscriber#getId()</code>) must be unique.
+ * Registering a subscriber will result in all registered listeners being
+ * notified of the addition in the same thread as the call to <code>registerSubscriber()</code>.
+ *
+ * @param subscriber the subscriber being registered
+ */
+ public void registerSubscriber(TeamSubscriber subscriber);
+
+ /**
+ * Remove a subscriber from the subscriber manager. Deregistering a subscriber
+ * will result in all registered listeners being
+ * notified of the addition in the same thread as the call to
+ * <code>deregisterSubscriber()</code>.
+ *
+ * @param subscriber the subscriber being deregistered
+ */
+ public void deregisterSubscriber(TeamSubscriber subscriber);
+
+ /**
+ * Get the subscriber with the given id. Return <code>null</code>
+ * if there is no registered subscriber with the given id.
+ * @param id the unique id of the subscriber
+ * @return the subscriber whose id matches the given one
+ */
+ public TeamSubscriber getSubscriber(QualifiedName id);
+
+ /**
+ * Return all registered subscribers.
+ * @return all registered subscribers
+ */
+ public TeamSubscriber[] getSubscribers();
+
+ /**
+ * Add a change listener that will be invoked when a subscriber is registered
+ * or deregistered.
+ * @param listener the team resource change listener to be added
+ */
+ public void addTeamResourceChangeListener(ITeamResourceChangeListener listener);
+
+ /**
+ * Remove a previously added change listener
+ * @param listener the team resource change listener to be removed
+ */
+ public void removeTeamResourceChangeListener(ITeamResourceChangeListener listener);
+}
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamSubscriber.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamSubscriber.java
index 6b77778e4..1086d891c 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamSubscriber.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamSubscriber.java
@@ -19,6 +19,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.sync.IRemoteResource;
+import org.eclipse.team.internal.core.*;
/**
* A TeamSubscriber is connected to a remote location that has incoming changes
@@ -32,6 +33,17 @@ abstract public class TeamSubscriber {
private List listeners = new ArrayList(1);
+ static private ISubscriberManager instance;
+
+ /**
+ * Return the subscriber manager which provides access and control of the
+ * team subscribers.
+ * @return the subscriber manager
+ */
+ public static synchronized ISubscriberManager getSubscriberManager() {
+ return SubscriberManager.getInstance();
+ }
+
/**
* Return the unique id that identified this subscriber.
*/
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/SubscriberManager.java
index 0e0af0e5a..bd0f525e8 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/TeamProvider.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/SubscriberManager.java
@@ -8,7 +8,7 @@
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
-package org.eclipse.team.core.subscribers;
+package org.eclipse.team.internal.core;
import java.util.ArrayList;
import java.util.HashMap;
@@ -26,75 +26,113 @@ import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.core.Policy;
-import org.eclipse.team.internal.core.SaveContext;
-import org.eclipse.team.internal.core.SaveContextXMLWriter;
-import org.eclipse.team.internal.core.TeamPlugin;
+import org.eclipse.team.core.subscribers.ISubscriberManager;
+import org.eclipse.team.core.subscribers.ITeamResourceChangeListener;
+import org.eclipse.team.core.subscribers.TeamDelta;
+import org.eclipse.team.core.subscribers.TeamSubscriber;
+import org.eclipse.team.core.subscribers.TeamSubscriberFactory;
/**
- * This is a temporary class that contains methods for TeamSubscriber support. At
- * some time it should be merged into the existing Team plugin class.
+ * This class provides the private implementation of <code>ISubscriberManager</code>.
*/
-public class TeamProvider implements ISaveParticipant {
-
+public class SubscriberManager implements ISubscriberManager, ISaveParticipant {
+
private static String SUBSCRIBER_EXTENSION = "subscriber"; //$NON-NLS-1$
final static private String SAVECTX_SUBSCRIBERS = "subscribers"; //$NON-NLS-1$
final static private String SAVECTX_SUBSCRIBER = "subscriber"; //$NON-NLS-1$
final static private String SAVECTX_QUALIFIER = "qualifier"; //$NON-NLS-1$
final static private String SAVECTX_LOCALNAME = "localName"; //$NON-NLS-1$
- static private Map subscribers = new HashMap();
- static private List listeners = new ArrayList(1);
- static private Map factories = new HashMap();
+ private Map subscribers = new HashMap();
+ private List listeners = new ArrayList(1);
+ private Map factories = new HashMap();
- public TeamProvider() {
- startup();
- }
-
- static public TeamSubscriber getSubscriber(QualifiedName id) throws TeamException {
- TeamSubscriber s = (TeamSubscriber)subscribers.get(id);
- return s;
- }
-
- static public TeamSubscriber[] getSubscribers() {
- return (TeamSubscriber[])subscribers.values().toArray(
- new TeamSubscriber[subscribers.size()]);
+ static private ISubscriberManager instance;
+
+ public static synchronized ISubscriberManager getInstance() {
+ if (instance == null) {
+ // Initialize the variable before trigering startup.
+ // This is done because the startup code can invoke
+ // subscriber factories which, in turn will ask for the
+ // subscriber manager.
+ instance = new SubscriberManager();
+ ((SubscriberManager)instance).startup();
+ }
+ return instance;
}
- static public void registerSubscriber(TeamSubscriber subscriber) {
- if(! subscribers.containsKey(subscriber.getId())) {
- subscribers.put(subscriber.getId(), subscriber);
+ /* (non-Javadoc)
+ * @see org.eclipse.team.core.subscribers.ISubscriberManager#registerSubscriber(org.eclipse.team.core.subscribers.TeamSubscriber)
+ */
+ public void registerSubscriber(TeamSubscriber subscriber) {
+ boolean fireEvent = false;
+ synchronized(subscribers) {
+ if(! subscribers.containsKey(subscriber.getId())) {
+ subscribers.put(subscriber.getId(), subscriber);
+ fireEvent = true;
+ }
+ }
+ if (fireEvent) {
fireTeamResourceChange(new TeamDelta[] {
- new TeamDelta(subscriber, TeamDelta.SUBSCRIBER_CREATED, null)});
+ new TeamDelta(subscriber, TeamDelta.SUBSCRIBER_CREATED, null)});
}
}
-
- static public void deregisterSubscriber(TeamSubscriber subscriber) {
- if (subscribers.remove(subscriber.getId()) != null) {
- // Only notify if the subscriber was registered in the first place
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.core.subscribers.ISubscriberManager#deregisterSubscriber(org.eclipse.team.core.subscribers.TeamSubscriber)
+ */
+ public void deregisterSubscriber(TeamSubscriber subscriber) {
+ boolean fireEvent = false;
+ synchronized(subscribers) {
+ if (subscribers.remove(subscriber.getId()) != null) {
+ // Only notify if the subscriber was registered in the first place
+ fireEvent = true;
+ }
+ }
+ if (fireEvent) {
fireTeamResourceChange(new TeamDelta[] {
- new TeamDelta(subscriber, TeamDelta.SUBSCRIBER_DELETED, null)});
+ new TeamDelta(subscriber, TeamDelta.SUBSCRIBER_DELETED, null)});
}
}
-
+
/* (non-Javadoc)
- * Method declared on IBaseLabelProvider.
+ * @see org.eclipse.team.core.subscribers.ISubscriberManager#getSubscriber(org.eclipse.core.runtime.QualifiedName)
*/
- static public void addListener(ITeamResourceChangeListener listener) {
+ public TeamSubscriber getSubscriber(QualifiedName id) {
+ synchronized(subscribers) {
+ TeamSubscriber s = (TeamSubscriber)subscribers.get(id);
+ return s;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.core.subscribers.ISubscriberManager#getSubscribers()
+ */
+ public TeamSubscriber[] getSubscribers() {
+ synchronized(subscribers) {
+ return (TeamSubscriber[])subscribers.values().toArray(
+ new TeamSubscriber[subscribers.size()]);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.core.subscribers.ISubscriberManager#addTeamResourceChangeListener(org.eclipse.team.core.subscribers.ITeamResourceChangeListener)
+ */
+ public void addTeamResourceChangeListener(ITeamResourceChangeListener listener) {
synchronized(listener) {
listeners.add(listener);
}
}
/* (non-Javadoc)
- * Method declared on IBaseLabelProvider.
+ * @see org.eclipse.team.core.subscribers.ISubscriberManager#removeTeamResourceChangeListener(org.eclipse.team.core.subscribers.ITeamResourceChangeListener)
*/
- static public void removeListener(ITeamResourceChangeListener listener) {
+ public void removeTeamResourceChangeListener(ITeamResourceChangeListener listener) {
synchronized(listener) {
listeners.remove(listener);
}
}
-
+
public void doneSaving(ISaveContext context) {
}
@@ -122,16 +160,20 @@ public class TeamProvider implements ISaveParticipant {
* Fires a team resource change event to all registered listeners
* Only listeners registered at the time this method is called are notified.
*/
- static protected void fireTeamResourceChange(final TeamDelta[] deltas) {
+ void fireTeamResourceChange(final TeamDelta[] deltas) {
+ ITeamResourceChangeListener[] allListeners;
+ // Copy the listener list so we're not calling client code while synchronized
synchronized(listeners) {
- for (Iterator it = listeners.iterator(); it.hasNext();) {
- final ITeamResourceChangeListener l = (ITeamResourceChangeListener) it.next();
- l.teamResourceChanged(deltas);
- }
+ allListeners = (ITeamResourceChangeListener[]) listeners.toArray(new ITeamResourceChangeListener[listeners.size()]);
+ }
+ // Fire the events
+ for (int i = 0; i < allListeners.length; i++) {
+ ITeamResourceChangeListener listener = allListeners[i];
+ listener.teamResourceChanged(deltas);
}
}
- private synchronized static void restoreSubscribers() {
+ synchronized void restoreSubscribers() {
try {
SaveContext root = SaveContextXMLWriter.readXMLPluginMetaFile(TeamPlugin.getPlugin(), "subscribers"); //$NON-NLS-1$
if(root != null && root.getName().equals(SAVECTX_SUBSCRIBERS)) {
@@ -161,7 +203,7 @@ public class TeamProvider implements ISaveParticipant {
}
}
- private synchronized static void saveSubscribers() {
+ synchronized void saveSubscribers() {
SaveContext root = new SaveContext();
root.setName(SAVECTX_SUBSCRIBERS);
List children = new ArrayList();
@@ -192,7 +234,7 @@ public class TeamProvider implements ISaveParticipant {
}
}
- private static TeamSubscriberFactory create(String id) {
+ private TeamSubscriberFactory create(String id) {
TeamSubscriberFactory sFactory = (TeamSubscriberFactory)factories.get(id);
if(sFactory != null) {
return sFactory;
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java
index 94ea0d771..876fa8378 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java
@@ -33,7 +33,7 @@ import org.eclipse.team.core.subscribers.ContentComparisonCriteria;
import org.eclipse.team.core.subscribers.ITeamResourceChangeListener;
import org.eclipse.team.core.subscribers.SyncInfo;
import org.eclipse.team.core.subscribers.TeamDelta;
-import org.eclipse.team.core.subscribers.TeamProvider;
+import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.core.sync.IRemoteResource;
import org.eclipse.team.internal.ccvs.core.syncinfo.MergedSynchronizer;
import org.eclipse.team.internal.ccvs.core.syncinfo.RemoteSynchronizer;
@@ -144,7 +144,7 @@ public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResour
public void cancel() {
super.cancel();
ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
- TeamProvider.deregisterSubscriber(this);
+ TeamSubscriber.getSubscriberManager().deregisterSubscriber(this);
remoteSynchronizer.dispose();
baseSynchronizer.dispose();
mergedSynchronizer.dispose();
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java
index b1ad9aee5..a9fcdf433 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java
@@ -44,7 +44,7 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.team.core.RepositoryProvider;
import org.eclipse.team.core.Team;
import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.TeamProvider;
+import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.core.sync.RemoteContentsCache;
import org.eclipse.team.internal.ccvs.core.client.Command;
import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
@@ -58,7 +58,6 @@ import org.eclipse.team.internal.ccvs.core.util.AddDeleteMoveListener;
import org.eclipse.team.internal.ccvs.core.util.ProjectDescriptionManager;
import org.eclipse.team.internal.ccvs.core.util.SyncFileChangeListener;
import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.internal.ccvs.core.Policy;
public class CVSProviderPlugin extends Plugin {
@@ -334,7 +333,7 @@ public class CVSProviderPlugin extends Plugin {
CVS_WORKSPACE_SUBSCRIBER_ID,
Policy.bind("CVSProviderPlugin.20"), //$NON-NLS-1$
Policy.bind("CVSProviderPlugin.21")); //$NON-NLS-1$
- TeamProvider.registerSubscriber(cvsWorkspaceSubscriber);
+ TeamSubscriber.getSubscriberManager().registerSubscriber(cvsWorkspaceSubscriber);
}
/**
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java
index 6f9c5ddc1..582ae672e 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java
@@ -15,7 +15,7 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.core.subscribers.TeamProvider;
+import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.internal.ccvs.core.CVSMergeSubscriber;
import org.eclipse.team.internal.ccvs.core.CVSTag;
import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
@@ -63,7 +63,7 @@ public class MergeWizard extends Wizard {
CVSTag endTag = endPage.getTag();
CVSMergeSubscriber s = new CVSMergeSubscriber(resources, startTag, endTag);
- TeamProvider.registerSubscriber(s);
+ TeamSubscriber.getSubscriberManager().registerSubscriber(s);
ISynchronizeView view = TeamUI.showSyncViewInActivePage(null);
if(view != null) {
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/actions/SyncAllAction.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/actions/SyncAllAction.java
index 49e89c9bd..37686d89b 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/actions/SyncAllAction.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/actions/SyncAllAction.java
@@ -20,7 +20,6 @@ import org.eclipse.swt.events.MenuEvent;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.team.core.subscribers.TeamProvider;
import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.ui.TeamUI;
import org.eclipse.team.ui.sync.ISynchronizeView;
@@ -94,7 +93,7 @@ public class SyncAllAction implements IWorkbenchWindowPulldownDelegate2 {
}
private void fillMenu() {
- TeamSubscriber[] subscribers = TeamProvider.getSubscribers();
+ TeamSubscriber[] subscribers = TeamSubscriber.getSubscriberManager().getSubscribers();
for (int i = 0; i < subscribers.length; i++) {
TeamSubscriber subscriber = subscribers[i];
createAction(getCreatedMenu(), new SubscriberAction(subscriber), i + 1);
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java
index e1953228e..14b141c70 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java
@@ -61,7 +61,6 @@ import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.subscribers.ITeamResourceChangeListener;
import org.eclipse.team.core.subscribers.SyncInfo;
import org.eclipse.team.core.subscribers.TeamDelta;
-import org.eclipse.team.core.subscribers.TeamProvider;
import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.internal.core.Assert;
import org.eclipse.team.internal.ui.IPreferenceIds;
@@ -168,8 +167,8 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
contributeToActionBars();
// Register for addition/removal of subscribers
- TeamProvider.addListener(this);
- TeamSubscriber[] subscribers = TeamProvider.getSubscribers();
+ TeamSubscriber.getSubscriberManager().addTeamResourceChangeListener(this);
+ TeamSubscriber[] subscribers = TeamSubscriber.getSubscriberManager().getSubscribers();
for (int i = 0; i < subscribers.length; i++) {
TeamSubscriber subscriber = subscribers[i];
addSubscriber(subscriber);
@@ -533,7 +532,7 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
job.setSubscriberInput(null);
// Cleanup the subscriber inputs
- TeamProvider.removeListener(this);
+ TeamSubscriber.getSubscriberManager().removeTeamResourceChangeListener(this);
for (Iterator it = subscriberInputs.values().iterator(); it.hasNext();) {
SubscriberInput input = (SubscriberInput) it.next();
input.dispose();
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
index 4933f23be..e8c8b0f9a 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
@@ -23,7 +23,6 @@ import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.team.core.RepositoryProvider;
import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.subscribers.SyncInfo;
-import org.eclipse.team.core.subscribers.TeamProvider;
import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.internal.ccvs.core.CVSException;
import org.eclipse.team.internal.ccvs.core.CVSMergeSubscriber;
@@ -82,7 +81,7 @@ public class CVSMergeSubscriberTest extends CVSSyncSubscriberTest {
private CVSMergeSubscriber createMergeSubscriber(IProject project, CVSTag root, CVSTag branch) {
CVSMergeSubscriber subscriber = new CVSMergeSubscriber(new IResource[] { project }, root, branch);
- TeamProvider.registerSubscriber(subscriber);
+ TeamSubscriber.getSubscriberManager().registerSubscriber(subscriber);
return subscriber;
}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
index 45586fccf..dff0077f7 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
@@ -27,7 +27,6 @@ import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.subscribers.ITeamResourceChangeListener;
import org.eclipse.team.core.subscribers.SyncInfo;
import org.eclipse.team.core.subscribers.TeamDelta;
-import org.eclipse.team.core.subscribers.TeamProvider;
import org.eclipse.team.core.subscribers.TeamSubscriber;
import org.eclipse.team.core.sync.RemoteSyncElement;
import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
@@ -55,7 +54,7 @@ public abstract class CVSSyncSubscriberTest extends EclipseTest {
}
protected TeamSubscriber getWorkspaceSubscriber() throws TeamException {
- TeamSubscriber subscriber = TeamProvider.getSubscriber(CVSProviderPlugin.CVS_WORKSPACE_SUBSCRIBER_ID);
+ TeamSubscriber subscriber = TeamSubscriber.getSubscriberManager().getSubscriber(CVSProviderPlugin.CVS_WORKSPACE_SUBSCRIBER_ID);
if (subscriber == null) fail("The CVS sync subsciber is not registered");
return subscriber;
}

Back to the top