diff options
author | Michael Valenta | 2005-03-23 14:11:56 +0000 |
---|---|---|
committer | Michael Valenta | 2005-03-23 14:11:56 +0000 |
commit | dc17a56297547aed561a6603af7c34adfe536799 (patch) | |
tree | 629c367e28f1b925aec670194e62735b58d2c712 | |
parent | 71e0dc55be455ea0bd3502ac952c8876710a7a01 (diff) | |
download | eclipse.platform.team-dc17a56297547aed561a6603af7c34adfe536799.tar.gz eclipse.platform.team-dc17a56297547aed561a6603af7c34adfe536799.tar.xz eclipse.platform.team-dc17a56297547aed561a6603af7c34adfe536799.zip |
Bug 77291 [Change Sets] Make ChangeSetActionGroup API
32 files changed, 339 insertions, 83 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSet.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSet.java new file mode 100644 index 000000000..2434ae346 --- /dev/null +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSet.java @@ -0,0 +1,214 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.internal.core.subscribers; + +import java.util.*; + +import org.eclipse.core.resources.*; +import org.eclipse.core.runtime.Path; +import org.eclipse.team.core.TeamException; +import org.eclipse.team.core.subscribers.Subscriber; +import org.eclipse.team.core.synchronize.SyncInfo; +import org.eclipse.team.core.synchronize.SyncInfoTree; +import org.eclipse.team.internal.core.TeamPlugin; +import org.osgi.service.prefs.Preferences; + +/** + * An active change set represents a set of local resource changes + * that are grouped together as a single logical change. + * @since 3.1 + */ +public class ActiveChangeSet extends ChangeSet { + + private static final String CTX_TITLE = "title"; //$NON-NLS-1$ + private static final String CTX_COMMENT = "comment"; //$NON-NLS-1$ + private static final String CTX_RESOURCES = "resources"; //$NON-NLS-1$ + + private String comment; + private final SubscriberChangeSetCollector manager; + + /** + * Create a change set with the given title + * @param manager the manager that owns this set + * @param title the title of the set + */ + public ActiveChangeSet(SubscriberChangeSetCollector manager, String title) { + super(title); + this.manager = manager; + } + + /** + * Get the title of the change set. The title is used + * as the comment when the set is checking in if no comment + * has been explicitly set using <code>setComment</code>. + * @return the title of the set + */ + public String getTitle() { + return getName(); + } + + /** + * Set the title of the set. The title is used + * as the comment when the set is committed if no comment + * has been explicitly set using <code>setComment</code>. + * @param title the title of the set + */ + public void setTitle(String title) { + setName(title); + getManager().fireNameChangedEvent(this); + } + + /** + * Get the comment of this change set. If the comment + * as never been set, the title is returned as the comment + * @return the comment to be used when the set is committed + */ + public String getComment() { + if (comment == null) { + return getTitle(); + } + return comment; + } + + /** + * Set the comment to be used when the change set is committed. + * If <code>null</code> is passed, the title of the set + * will be used as the comment. + * @param comment the comment for the set or <code>null</code> + * if the title should be the comment + */ + public void setComment(String comment) { + if (comment != null && comment.equals(getTitle())) { + this.comment = null; + } else { + this.comment = comment; + } + } + + /* + * Override inherited method to only include outgoing changes + */ + protected boolean isValidChange(SyncInfo info) { + return getManager().isModified(info); + } + + private void addResource(IResource resource) throws TeamException { + Subscriber subscriber = getManager().getSubscriber(); + SyncInfo info = subscriber.getSyncInfo(resource); + if (info != null) { + add(info); + } + } + + private SubscriberChangeSetCollector getManager() { + return manager; + } + + /** + * Return whether the set has a comment that differs from the title. + * @return whether the set has a comment that differs from the title + */ + public boolean hasComment() { + return comment != null; + } + + public void save(Preferences prefs) { + prefs.put(CTX_TITLE, getTitle()); + if (comment != null) { + prefs.put(CTX_COMMENT, comment); + } + if (!isEmpty()) { + StringBuffer buffer = new StringBuffer(); + IResource[] resources = getResources(); + for (int i = 0; i < resources.length; i++) { + IResource resource = resources[i]; + buffer.append(resource.getFullPath().toString()); + buffer.append('\n'); + } + prefs.put(CTX_RESOURCES, buffer.toString()); + } + } + + public void init(Preferences prefs) { + setName(prefs.get(CTX_TITLE, "")); //$NON-NLS-1$ + comment = prefs.get(CTX_COMMENT, null); + String resourcePaths = prefs.get(CTX_RESOURCES, null); + if (resourcePaths != null) { + SyncInfoTree syncInfoSet = getSyncInfoSet(); + try { + syncInfoSet.beginInput(); + IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); + StringTokenizer tokenizer = new StringTokenizer(resourcePaths, "\n"); //$NON-NLS-1$ + while (tokenizer.hasMoreTokens()) { + String next = tokenizer.nextToken(); + if (next.trim().length() > 0) { + IResource resource = getResource(root, next); + try { + // Only include the resource if it is out-of-sync + if (resource != null && manager.getSubscriber().getSyncInfo(resource) != null) { + try { + addResource(resource); + } catch (TeamException e) { + TeamPlugin.log(e); + } + } + } catch (TeamException e) { + // Log and continue + TeamPlugin.log(e); + } + } + } + } finally { + syncInfoSet.endInput(null); + } + } + } + + private IResource getResource(IWorkspaceRoot root, String next) { + IResource resource = root.findMember(next); + if (resource == null) { + // May be an outgoing deletion + Path path = new Path(null, next); + if (next.charAt(next.length()-1) == Path.SEPARATOR) { + if (path.segmentCount() == 1) { + // resource is a project + resource = root.getProject(path.lastSegment()); + } else { + // resource is a folder + resource = root.getFolder(path); + } + } else { + // resource is a file + resource = root.getFile(path); + } + } + return resource; + } + + /** + * Add the resources to the change set if they are outgoing changes. + * @param resources the resouces to add. + * @throws TeamException + */ + public void add(IResource[] resources) throws TeamException { + List toAdd = new ArrayList(); + for (int i = 0; i < resources.length; i++) { + IResource resource = resources[i]; + SyncInfo info = manager.getSyncInfo(resource); + if (info != null) { + toAdd.add(info); + } + } + if (!toAdd.isEmpty()) { + add((SyncInfo[]) toAdd.toArray(new SyncInfo[toAdd.size()])); + } + } +} diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ChangeSet.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSet.java index 94b880267..a8688d988 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ChangeSet.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSet.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.core.subscribers; +package org.eclipse.team.internal.core.subscribers; import org.eclipse.core.resources.IResource; import org.eclipse.team.core.synchronize.SyncInfo; diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ChangeSetCollector.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSetCollector.java index a17cd73d2..704052d9b 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/ChangeSetCollector.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSetCollector.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.core.subscribers; +package org.eclipse.team.internal.core.subscribers; import java.util.*; diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/CheckedInChangeSet.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/CheckedInChangeSet.java index 474b11899..8bd1983c0 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/CheckedInChangeSet.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/CheckedInChangeSet.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.core.subscribers; +package org.eclipse.team.internal.core.subscribers; import java.util.Date; diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/IChangeSetChangeListener.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/IChangeSetChangeListener.java index 558e16845..7ee22908b 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/IChangeSetChangeListener.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/IChangeSetChangeListener.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.core.subscribers; +package org.eclipse.team.internal.core.subscribers; import org.eclipse.core.resources.IResource; diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberChangeSetCollector.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java index 27ae834de..dc6050824 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberChangeSetCollector.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.core.subscribers; +package org.eclipse.team.internal.core.subscribers; import java.util.*; @@ -19,9 +19,9 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.runtime.preferences.*; import org.eclipse.team.core.ITeamStatus; import org.eclipse.team.core.TeamException; +import org.eclipse.team.core.subscribers.Subscriber; import org.eclipse.team.core.synchronize.*; import org.eclipse.team.internal.core.*; -import org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector; import org.osgi.service.prefs.BackingStoreException; import org.osgi.service.prefs.Preferences; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIPlugin.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIPlugin.java index ce4012003..018dcf977 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIPlugin.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSUIPlugin.java @@ -30,7 +30,6 @@ import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.internal.ccvs.core.*; import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption; import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation; @@ -38,6 +37,7 @@ import org.eclipse.team.internal.ccvs.ui.console.CVSOutputConsole; import org.eclipse.team.internal.ccvs.ui.model.CVSAdapterFactory; import org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager; import org.eclipse.team.internal.ccvs.ui.repo.RepositoryRoot; +import org.eclipse.team.internal.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.internal.ui.TeamUIPlugin; import org.eclipse.team.internal.ui.Utils; import org.eclipse.ui.*; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetActionGroup.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetActionGroup.java index 6002e367d..21510f986 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetActionGroup.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetActionGroup.java @@ -11,8 +11,8 @@ package org.eclipse.team.internal.ccvs.ui.subscriber; import org.eclipse.jface.action.IMenuManager; -import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; -import org.eclipse.team.ui.synchronize.SynchronizePageActionGroup; +import org.eclipse.team.internal.ui.synchronize.IChangeSetProvider; +import org.eclipse.team.ui.synchronize.*; /** * Action group that is used by CVS Change Set Capabilities @@ -30,11 +30,14 @@ public class CVSChangeSetActionGroup extends SynchronizePageActionGroup { * @see org.eclipse.team.ui.synchronize.SynchronizePageActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager) */ public void fillContextMenu(IMenuManager menu) { - if (getConfiguration().getParticipant().getChangeSetCapability().enableCheckedInChangeSetsFor(getConfiguration())) { - appendToGroup( - menu, - ISynchronizePageConfiguration.FILE_GROUP, - openCommitSet); + ISynchronizeParticipant participant = getConfiguration().getParticipant(); + if (participant instanceof IChangeSetProvider) { + if (((IChangeSetProvider)participant).getChangeSetCapability().enableCheckedInChangeSetsFor(getConfiguration())) { + appendToGroup( + menu, + ISynchronizePageConfiguration.FILE_GROUP, + openCommitSet); + } } } } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetCapability.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetCapability.java index bfa0d5dbc..d01113c22 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetCapability.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSChangeSetCapability.java @@ -12,6 +12,8 @@ package org.eclipse.team.internal.ccvs.ui.subscriber; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants; +import org.eclipse.team.internal.ui.synchronize.ChangeSetCapability; +import org.eclipse.team.internal.ui.synchronize.SyncInfoSetChangeSetCollector; import org.eclipse.team.ui.synchronize.*; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java index a8e32c446..2d3498040 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSParticipant.java @@ -22,12 +22,14 @@ import org.eclipse.team.internal.ccvs.core.*; import org.eclipse.team.internal.ccvs.core.resources.RemoteFile; import org.eclipse.team.internal.ccvs.ui.*; import org.eclipse.team.internal.ccvs.ui.Policy; +import org.eclipse.team.internal.ui.synchronize.ChangeSetCapability; +import org.eclipse.team.internal.ui.synchronize.IChangeSetProvider; import org.eclipse.team.ui.synchronize.*; /** * Superclass for all CVS particpants (workspace, merge and compare) */ -public class CVSParticipant extends SubscriberParticipant { +public class CVSParticipant extends SubscriberParticipant implements IChangeSetProvider { private CVSChangeSetCapability capability; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CommitSetDialog.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CommitSetDialog.java index f830e18da..be818b9e4 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CommitSetDialog.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CommitSetDialog.java @@ -21,8 +21,8 @@ import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.*; -import org.eclipse.team.core.subscribers.ActiveChangeSet; import org.eclipse.team.internal.ccvs.ui.*; +import org.eclipse.team.internal.core.subscribers.ActiveChangeSet; import org.eclipse.ui.help.WorkbenchHelp; /** diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java index f76e583a9..8da9e5203 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java @@ -19,13 +19,13 @@ import org.eclipse.core.runtime.Preferences.IPropertyChangeListener; import org.eclipse.core.runtime.Preferences.PropertyChangeEvent; import org.eclipse.team.core.TeamException; import org.eclipse.team.core.subscribers.Subscriber; -import org.eclipse.team.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.core.synchronize.*; import org.eclipse.team.internal.ccvs.core.CVSCompareSubscriber; import org.eclipse.team.internal.ccvs.core.CVSTag; import org.eclipse.team.internal.ccvs.ui.*; import org.eclipse.team.internal.ccvs.ui.actions.ShowAnnotationAction; import org.eclipse.team.internal.ccvs.ui.actions.ShowResourceInHistoryAction; +import org.eclipse.team.internal.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.internal.ui.Utils; import org.eclipse.team.ui.TeamUI; import org.eclipse.team.ui.synchronize.*; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/OpenChangeSetAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/OpenChangeSetAction.java index 454f2602f..6126e29c1 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/OpenChangeSetAction.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/OpenChangeSetAction.java @@ -19,14 +19,14 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.ChangeSet; -import org.eclipse.team.core.subscribers.CheckedInChangeSet; import org.eclipse.team.core.synchronize.*; import org.eclipse.team.core.synchronize.FastSyncInfoFilter.*; import org.eclipse.team.core.variants.IResourceVariant; import org.eclipse.team.internal.ccvs.core.*; import org.eclipse.team.internal.ccvs.ui.Policy; import org.eclipse.team.internal.ccvs.ui.operations.RemoteCompareOperation.CompareTreeBuilder; +import org.eclipse.team.internal.core.subscribers.ChangeSet; +import org.eclipse.team.internal.core.subscribers.CheckedInChangeSet; import org.eclipse.team.internal.ui.synchronize.ChangeSetDiffNode; import org.eclipse.team.ui.synchronize.*; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceCommitOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceCommitOperation.java index f90472340..9cb5873ac 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceCommitOperation.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceCommitOperation.java @@ -21,7 +21,6 @@ import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.ChangeSet; import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.core.synchronize.SyncInfoSet; import org.eclipse.team.internal.ccvs.core.*; @@ -34,6 +33,7 @@ import org.eclipse.team.internal.ccvs.ui.operations.AddOperation; import org.eclipse.team.internal.ccvs.ui.operations.CommitOperation; import org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager; import org.eclipse.team.internal.ccvs.ui.sync.ToolTipMessageDialog; +import org.eclipse.team.internal.core.subscribers.ChangeSet; import org.eclipse.team.internal.ui.Utils; import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java index cefee6867..72fc3d563 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/WorkspaceSynchronizeParticipant.java @@ -18,19 +18,21 @@ import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.viewers.ILabelDecorator; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.ActiveChangeSet; -import org.eclipse.team.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; import org.eclipse.team.internal.ccvs.ui.Policy; import org.eclipse.team.internal.ccvs.ui.actions.*; +import org.eclipse.team.internal.core.subscribers.ActiveChangeSet; +import org.eclipse.team.internal.core.subscribers.SubscriberChangeSetCollector; +import org.eclipse.team.internal.ui.synchronize.*; +import org.eclipse.team.internal.ui.synchronize.ChangeSetCapability; import org.eclipse.team.internal.ui.synchronize.ScopableSubscriberParticipant; import org.eclipse.team.ui.TeamUI; import org.eclipse.team.ui.synchronize.*; import org.eclipse.ui.*; -public class WorkspaceSynchronizeParticipant extends ScopableSubscriberParticipant { +public class WorkspaceSynchronizeParticipant extends ScopableSubscriberParticipant implements IChangeSetProvider { public static final String ID = "org.eclipse.team.cvs.ui.cvsworkspace-participant"; //$NON-NLS-1$ diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardCommitPage.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardCommitPage.java index e73514fec..ed3d16209 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardCommitPage.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardCommitPage.java @@ -27,11 +27,11 @@ import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.*; -import org.eclipse.team.core.subscribers.ChangeSet; import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.core.synchronize.SyncInfoSet; import org.eclipse.team.internal.ccvs.ui.*; import org.eclipse.team.internal.ccvs.ui.Policy; +import org.eclipse.team.internal.core.subscribers.ChangeSet; import org.eclipse.team.internal.ui.*; import org.eclipse.team.internal.ui.synchronize.SyncInfoModelElement; import org.eclipse.team.internal.ui.synchronize.SynchronizePageConfiguration; diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardParticipant.java index 113c8c229..e3db91358 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardParticipant.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/CommitWizardParticipant.java @@ -24,7 +24,7 @@ import org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction; import org.eclipse.team.internal.ccvs.ui.subscriber.CVSActionDelegateWrapper; import org.eclipse.team.internal.ccvs.ui.subscriber.CVSParticipantLabelDecorator; import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceSynchronizeParticipant; -import org.eclipse.team.ui.synchronize.ChangeSetCapability; +import org.eclipse.team.internal.ui.synchronize.ChangeSetCapability; import org.eclipse.team.ui.synchronize.ISynchronizeModelElement; import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; import org.eclipse.team.ui.synchronize.ISynchronizeScope; diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java index 32350ea4a..6337def5a 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java @@ -22,16 +22,15 @@ import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.team.core.ITeamStatus; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.ChangeSet; -import org.eclipse.team.core.subscribers.IChangeSetChangeListener; -import org.eclipse.team.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.core.synchronize.ISyncInfoSetChangeEvent; import org.eclipse.team.core.synchronize.ISyncInfoSetChangeListener; import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.core.synchronize.SyncInfoSet; import org.eclipse.team.core.synchronize.SyncInfoTree; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.internal.ui.TeamUIPlugin; import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; +import org.eclipse.team.ui.synchronize.ISynchronizeParticipant; /** * Group incoming changes according to the active change set thet are @@ -135,7 +134,11 @@ public class ActiveChangeSetCollector implements ISyncInfoSetChangeListener { } public SubscriberChangeSetCollector getActiveChangeSetManager() { - return getConfiguration().getParticipant().getChangeSetCapability().getActiveChangeSetManager(); + ISynchronizeParticipant participant = getConfiguration().getParticipant(); + if (participant instanceof IChangeSetProvider) { + return ((IChangeSetProvider)participant).getChangeSetCapability().getActiveChangeSetManager(); + } + return null; } /** diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ChangeSetCapability.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetCapability.java index 1a5720408..3c943c188 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ChangeSetCapability.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetCapability.java @@ -8,11 +8,13 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.ui.synchronize; +package org.eclipse.team.internal.ui.synchronize; -import org.eclipse.team.core.subscribers.ActiveChangeSet; -import org.eclipse.team.core.subscribers.SubscriberChangeSetCollector; import org.eclipse.team.core.synchronize.SyncInfo; +import org.eclipse.team.internal.core.subscribers.ActiveChangeSet; +import org.eclipse.team.internal.core.subscribers.SubscriberChangeSetCollector; +import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; +import org.eclipse.team.ui.synchronize.SynchronizePageActionGroup; /** * A change set capability is used by a SubscriberSynchronizePage diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetDiffNode.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetDiffNode.java index f5c4438c1..1bfc05bc5 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetDiffNode.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetDiffNode.java @@ -13,7 +13,7 @@ package org.eclipse.team.internal.ui.synchronize; import org.eclipse.compare.structuremergeviewer.IDiffContainer; import org.eclipse.core.resources.IResource; import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.team.core.subscribers.ChangeSet; +import org.eclipse.team.internal.core.subscribers.ChangeSet; import org.eclipse.team.internal.ui.ITeamUIImages; import org.eclipse.team.internal.ui.TeamUIPlugin; diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetLabelDecorator.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetLabelDecorator.java index 7a748988d..78d0c4fa4 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetLabelDecorator.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetLabelDecorator.java @@ -11,19 +11,14 @@ package org.eclipse.team.internal.ui.synchronize; import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.viewers.IFontDecorator; -import org.eclipse.jface.viewers.ILabelDecorator; -import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.viewers.*; import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.FontData; -import org.eclipse.swt.graphics.Image; -import org.eclipse.team.core.subscribers.ActiveChangeSet; -import org.eclipse.team.core.subscribers.ChangeSet; -import org.eclipse.team.core.subscribers.SubscriberChangeSetCollector; +import org.eclipse.swt.graphics.*; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.internal.ui.Policy; import org.eclipse.team.internal.ui.TeamUIPlugin; import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; +import org.eclipse.team.ui.synchronize.ISynchronizeParticipant; /** * Label decorator that decorates the default active change set. @@ -34,7 +29,10 @@ public class ChangeSetLabelDecorator extends LabelProvider implements ILabelDeco private SubscriberChangeSetCollector collector; public ChangeSetLabelDecorator(ISynchronizePageConfiguration configuration) { - this.collector = configuration.getParticipant().getChangeSetCapability().getActiveChangeSetManager(); + ISynchronizeParticipant participant = configuration.getParticipant(); + if (participant instanceof IChangeSetProvider) { + this.collector = ((IChangeSetProvider)participant).getChangeSetCapability().getActiveChangeSetManager(); + } } public String decorateText(String input, Object element) { diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelManager.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelManager.java index ae0ae527c..0a28e562d 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelManager.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelManager.java @@ -68,7 +68,8 @@ public class ChangeSetModelManager extends HierarchicalModelManager implements I configuration.addPropertyChangeListener(this); configuration.addMenuGroup(ISynchronizePageConfiguration.P_TOOLBAR_MENU, CHANGE_SET_GROUP); configuration.addActionContribution(new CommitSetActionContribution()); - if (configuration.getParticipant().getChangeSetCapability().supportsActiveChangeSets()) { + ChangeSetCapability changeSetCapability = getChangeSetCapability(configuration); + if (changeSetCapability != null && changeSetCapability.supportsActiveChangeSets()) { configuration.addLabelDecorator(new ChangeSetLabelDecorator(configuration)); } configuration.addPropertyChangeListener(new IPropertyChangeListener() { @@ -80,13 +81,22 @@ public class ChangeSetModelManager extends HierarchicalModelManager implements I }); } + + private ChangeSetCapability getChangeSetCapability(ISynchronizePageConfiguration configuration) { + ISynchronizeParticipant participant = configuration.getParticipant(); + if (participant instanceof IChangeSetProvider) { + IChangeSetProvider provider = (IChangeSetProvider) participant; + return provider.getChangeSetCapability(); + } + return null; + } private void updateEnablement() { if (toggleCommitSetAction != null) { ISynchronizePageConfiguration configuration = getConfiguration(); - ChangeSetCapability changeSetCapability = configuration.getParticipant().getChangeSetCapability(); - boolean enabled = changeSetCapability.enableActiveChangeSetsFor(configuration) - || changeSetCapability.enableCheckedInChangeSetsFor(configuration); + ChangeSetCapability changeSetCapability = getChangeSetCapability(configuration); + boolean enabled = changeSetCapability != null && (changeSetCapability.enableActiveChangeSetsFor(configuration) + || changeSetCapability.enableCheckedInChangeSetsFor(configuration)); toggleCommitSetAction.setEnabled(enabled); } @@ -147,7 +157,8 @@ public class ChangeSetModelManager extends HierarchicalModelManager implements I // Load our setting before invoking super since the inherited // initialize will create the provider IDialogSettings pageSettings = getConfiguration().getSite().getPageSettings(); - enabled = getConfiguration().getParticipant().getChangeSetCapability().enableChangeSetsByDefault(); + ChangeSetCapability changeSetCapability = getChangeSetCapability(getConfiguration()); + enabled = changeSetCapability != null && changeSetCapability.enableChangeSetsByDefault(); if(pageSettings != null && pageSettings.get(P_COMMIT_SET_ENABLED) != null) { enabled = pageSettings.getBoolean(P_COMMIT_SET_ENABLED); } diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java index be064b964..8ae731c94 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelProvider.java @@ -20,8 +20,8 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.team.core.subscribers.*; import org.eclipse.team.core.synchronize.*; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.internal.ui.*; import org.eclipse.team.internal.ui.synchronize.actions.ChangeSetActionGroup; import org.eclipse.team.ui.synchronize.*; @@ -345,7 +345,12 @@ public class ChangeSetModelProvider extends CompositeModelProvider { * Return the change set capability */ public ChangeSetCapability getChangeSetCapability() { - return getConfiguration().getParticipant().getChangeSetCapability(); + ISynchronizeParticipant participant = getConfiguration().getParticipant(); + if (participant instanceof IChangeSetProvider) { + IChangeSetProvider provider = (IChangeSetProvider) participant; + return provider.getChangeSetCapability(); + } + return null; } public void dispose() { diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelSorter.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelSorter.java index 308542bb5..ecaa7c80c 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelSorter.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ChangeSetModelSorter.java @@ -12,9 +12,7 @@ package org.eclipse.team.internal.ui.synchronize; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerSorter; -import org.eclipse.team.core.subscribers.*; -import org.eclipse.team.core.subscribers.ActiveChangeSet; -import org.eclipse.team.core.subscribers.ChangeSet; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.ui.synchronize.ISynchronizeModelElement; /** diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/IChangeSetProvider.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/IChangeSetProvider.java new file mode 100644 index 000000000..3a50ffaef --- /dev/null +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/IChangeSetProvider.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 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.internal.ui.synchronize; + +/** + * Interface that can appear of a synchronize participant if that participant supports + * change sets. This was not made API in 3.1 because it was felt that the API was not + * ready at that point. + */ +public interface IChangeSetProvider { + + /** + * Return the change set capability for this participant or <code>null</code> + * if change sets are not supported. + * @return the change set capability for this participant + * @since 3.1 + */ + public ChangeSetCapability getChangeSetCapability(); +} diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SyncInfoSetChangeSetCollector.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SyncInfoSetChangeSetCollector.java index 29968ba1b..54fb213b0 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/SyncInfoSetChangeSetCollector.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SyncInfoSetChangeSetCollector.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.team.ui.synchronize; +package org.eclipse.team.internal.ui.synchronize; import java.util.*; @@ -16,10 +16,10 @@ import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.team.core.ITeamStatus; -import org.eclipse.team.core.subscribers.ChangeSet; -import org.eclipse.team.core.subscribers.ChangeSetCollector; import org.eclipse.team.core.synchronize.*; -import org.eclipse.team.internal.ui.synchronize.ChangeSetModelProvider; +import org.eclipse.team.internal.core.subscribers.ChangeSet; +import org.eclipse.team.internal.core.subscribers.ChangeSetCollector; +import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration; /** * This abstract class provides API for accumulating the <code>SyncInfo</code> diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/TreeViewerAdvisor.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/TreeViewerAdvisor.java index fc50a0d27..7a3b81c56 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/TreeViewerAdvisor.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/TreeViewerAdvisor.java @@ -178,12 +178,16 @@ public class TreeViewerAdvisor extends StructuredViewerAdvisor { * @param configuration */ protected SynchronizeModelManager createModelManager(ISynchronizePageConfiguration configuration) { - ChangeSetCapability changeSetCapability = configuration.getParticipant().getChangeSetCapability(); - if (changeSetCapability != null) { - if (changeSetCapability.supportsActiveChangeSets() || changeSetCapability.supportsCheckedInChangeSets()) { - return new ChangeSetModelManager(configuration); - } - } + ISynchronizeParticipant participant = configuration.getParticipant(); + if (participant instanceof IChangeSetProvider) { + IChangeSetProvider provider = (IChangeSetProvider) participant; + ChangeSetCapability changeSetCapability = provider.getChangeSetCapability(); + if (changeSetCapability != null) { + if (changeSetCapability.supportsActiveChangeSets() || changeSetCapability.supportsCheckedInChangeSets()) { + return new ChangeSetModelManager(configuration); + } + } + } return new HierarchicalModelManager(configuration); } diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/actions/ChangeSetActionGroup.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/actions/ChangeSetActionGroup.java index 20dabfdff..477b223ad 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/actions/ChangeSetActionGroup.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/actions/ChangeSetActionGroup.java @@ -20,14 +20,13 @@ import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.*; import org.eclipse.swt.widgets.Control; -import org.eclipse.team.core.subscribers.*; import org.eclipse.team.core.synchronize.FastSyncInfoFilter; import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.core.synchronize.FastSyncInfoFilter.SyncInfoDirectionFilter; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.internal.ui.Policy; import org.eclipse.team.internal.ui.TeamUIPlugin; -import org.eclipse.team.internal.ui.synchronize.ChangeSetModelProvider; -import org.eclipse.team.internal.ui.synchronize.ChangeSetModelSorter; +import org.eclipse.team.internal.ui.synchronize.*; import org.eclipse.team.ui.synchronize.*; import org.eclipse.ui.actions.BaseSelectionListenerAction; diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/AbstractSynchronizeParticipant.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/AbstractSynchronizeParticipant.java index 1902f28e6..26844abee 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/AbstractSynchronizeParticipant.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/AbstractSynchronizeParticipant.java @@ -379,13 +379,6 @@ public abstract class AbstractSynchronizeParticipant implements ISynchronizePart return new PreferencePage[] { new SyncViewerPreferencePage() }; } - /* (non-Javadoc) - * @see org.eclipse.team.ui.synchronize.ISynchronizeParticipant#getChangeSetCapability() - */ - public ChangeSetCapability getChangeSetCapability() { - return null; - } - /** * Return whether this particpant supports the contribution of actions to * the context menu by contributing a <code>viewerContribution</code> diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ISynchronizeParticipant.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ISynchronizeParticipant.java index c18031d26..1eda33ad9 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ISynchronizeParticipant.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ISynchronizeParticipant.java @@ -246,12 +246,4 @@ public interface ISynchronizeParticipant extends IExecutableExtension { * @since 3.1 */ public PreferencePage[] getPreferencePages(); - - /** - * Return the change set capability for this participant or <code>null</code> - * if change sets are not supported. - * @return the change set capability for this participant - * @since 3.1 - */ - public ChangeSetCapability getChangeSetCapability(); } diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java index 669260d46..11fbd9e15 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java @@ -27,6 +27,7 @@ import org.eclipse.team.core.subscribers.*; import org.eclipse.team.core.synchronize.SyncInfo; import org.eclipse.team.internal.ccvs.core.CVSTag; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.internal.ui.synchronize.*; import org.eclipse.team.tests.ccvs.ui.SynchronizeViewTestAdapter; import org.eclipse.team.ui.synchronize.*; @@ -204,7 +205,7 @@ public class CVSChangeSetTests extends CVSSyncSubscriberTest { }; SynchronizeViewTestAdapter.getCollector(workspaceSubscriber); ISynchronizeParticipant participant = SynchronizeViewTestAdapter.getParticipant(workspaceSubscriber); - ChangeSetCapability capability = participant.getChangeSetCapability(); + ChangeSetCapability capability = ((IChangeSetProvider)participant).getChangeSetCapability(); SubscriberChangeSetCollector activeManager = capability.getActiveChangeSetManager(); activeManager.waitUntilDone(eventLoopProgressMonitor); SubscriberParticipantPage page = (SubscriberParticipantPage)SynchronizeViewTestAdapter.getSyncViewPage(participant); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java index 4b7af5a1a..ff94f68d6 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java @@ -20,9 +20,9 @@ import org.eclipse.core.resources.*; import org.eclipse.core.runtime.CoreException; import org.eclipse.swt.widgets.Display; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.*; import org.eclipse.team.internal.ccvs.core.CVSException; import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; +import org.eclipse.team.internal.core.subscribers.*; import org.eclipse.team.tests.ccvs.core.EclipseTest; /** |