diff options
author | Jean Michel-Lemieux | 2003-08-05 14:43:15 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2003-08-05 14:43:15 +0000 |
commit | 5ec1455fb62e518938e6b2cea77a7462a0fd3684 (patch) | |
tree | 66a4161310d9b7a821cbe3100f36d57c73add60a /bundles/org.eclipse.team.cvs.ui/src | |
parent | d68ef2c76fca5169e879deaabd937fcd97b6918f (diff) | |
download | eclipse.platform.team-5ec1455fb62e518938e6b2cea77a7462a0fd3684.tar.gz eclipse.platform.team-5ec1455fb62e518938e6b2cea77a7462a0fd3684.tar.xz eclipse.platform.team-5ec1455fb62e518938e6b2cea77a7462a0fd3684.zip |
Removed SubscriberActionContributions in favor of using IActionFilter mechanism
from the workbench plugin.
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src')
2 files changed, 45 insertions, 41 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSubscriberAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSubscriberAction.java index 3bb84704d..8b39aff2e 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSubscriberAction.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CVSSubscriberAction.java @@ -189,7 +189,7 @@ public abstract class CVSSubscriberAction extends SubscriberAction { } protected SyncInfo getParent(SyncInfo info) throws TeamException { - return getSubscriber().getSyncInfo(info.getLocal().getParent(), new NullProgressMonitor()); + return info.getSubscriber().getSyncInfo(info.getLocal().getParent(), new NullProgressMonitor()); } protected IResource[] getIResourcesFrom(SyncInfo[] nodes) { diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeUpdateAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeUpdateAction.java index a6947c38c..c5b367f4e 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeUpdateAction.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeUpdateAction.java @@ -85,48 +85,52 @@ public class MergeUpdateAction extends SafeUpdateAction { * @see org.eclipse.team.internal.ccvs.ui.subscriber.SubscriberUpdateAction#runUpdateShallow(org.eclipse.team.internal.ui.sync.views.SyncInfo[], org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager, org.eclipse.core.runtime.IProgressMonitor) */ protected void runSafeUpdate(SyncInfo[] nodes, IProgressMonitor monitor) throws TeamException { - - TeamSubscriber subscriber = getSubscriber(); - if (!(subscriber instanceof CVSMergeSubscriber)) { - throw new CVSException("Invalid subscriber: " + subscriber.getId()); - } - CVSTag startTag = ((CVSMergeSubscriber)subscriber).getStartTag(); - CVSTag endTag = ((CVSMergeSubscriber)subscriber).getEndTag(); - - // Incoming additions require different handling then incoming changes and deletions - List additions = new ArrayList(); - List changes = new ArrayList(); - for (int i = 0; i < nodes.length; i++) { - SyncInfo resource = nodes[i]; - int kind = resource.getKind(); - if ((kind & SyncInfo.ADDITION) != 0) { - additions.add(resource); - } else { - changes.add(resource); + if(nodes.length > 0) { + TeamSubscriber subscriber = nodes[0].getSubscriber(); + if (!(subscriber instanceof CVSMergeSubscriber)) { + throw new CVSException("Invalid subscriber: " + subscriber.getId()); + } + CVSTag startTag = ((CVSMergeSubscriber)subscriber).getStartTag(); + CVSTag endTag = ((CVSMergeSubscriber)subscriber).getEndTag(); + + // Incoming additions require different handling then incoming changes and deletions + List additions = new ArrayList(); + List changes = new ArrayList(); + for (int i = 0; i < nodes.length; i++) { + SyncInfo resource = nodes[i]; + int kind = resource.getKind(); + if ((kind & SyncInfo.ADDITION) != 0) { + additions.add(resource); + } else { + changes.add(resource); + } + } + + try { + monitor.beginTask(null, (additions.size() + changes.size()) * 100); + if (!additions.isEmpty()) { + safeUpdate( + getIResourcesFrom((SyncInfo[]) additions.toArray(new SyncInfo[additions.size()])), + new Command.LocalOption[] { + Command.DO_NOT_RECURSE, + Update.makeArgumentOption(Update.JOIN, endTag.getName()) + }, + Policy.subMonitorFor(monitor, additions.size() * 100)); + } + if (!changes.isEmpty()) { + safeUpdate( + getIResourcesFrom((SyncInfo[]) changes.toArray(new SyncInfo[changes.size()])), + new Command.LocalOption[] { + Command.DO_NOT_RECURSE, + Update.makeArgumentOption(Update.JOIN, startTag.getName()), + Update.makeArgumentOption(Update.JOIN, endTag.getName()) + }, + Policy.subMonitorFor(monitor, changes.size() * 100)); + } + } finally { + monitor.done(); } } - - monitor.beginTask(null, (additions.size() + changes.size()) * 100); - if (!additions.isEmpty()) { - safeUpdate( - getIResourcesFrom((SyncInfo[]) additions.toArray(new SyncInfo[additions.size()])), - new Command.LocalOption[] { - Command.DO_NOT_RECURSE, - Update.makeArgumentOption(Update.JOIN, endTag.getName()) - }, - Policy.subMonitorFor(monitor, additions.size() * 100)); - } - if (!changes.isEmpty()) { - safeUpdate( - getIResourcesFrom((SyncInfo[]) changes.toArray(new SyncInfo[changes.size()])), - new Command.LocalOption[] { - Command.DO_NOT_RECURSE, - Update.makeArgumentOption(Update.JOIN, startTag.getName()), - Update.makeArgumentOption(Update.JOIN, endTag.getName()) - }, - Policy.subMonitorFor(monitor, changes.size() * 100)); - } - monitor.done(); } /* |