diff options
author | Michael Valenta | 2003-09-03 13:30:46 +0000 |
---|---|---|
committer | Michael Valenta | 2003-09-03 13:30:46 +0000 |
commit | 2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054 (patch) | |
tree | 0c983b591d45ae0f87b8b1db4b20d8cff907831e | |
parent | 6cd94ec26cc3d63ac5ab7bf7792f23ba2c23bce2 (diff) | |
download | eclipse.platform.team-2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054.tar.gz eclipse.platform.team-2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054.tar.xz eclipse.platform.team-2ab7cadee6473ddc8e4aa2a08839e5a54a3ef054.zip |
41580: class circularity error upon startup
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; } |