diff options
author | Jean Michel-Lemieux | 2003-09-11 15:49:21 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2003-09-11 15:49:21 +0000 |
commit | 3b0f1ccf14bf43c9235a554028d39265553f1bc0 (patch) | |
tree | 41ce0b72a762908290fa4a21400e95a5f27adff6 /bundles | |
parent | b4f1727605b64f646a64da8b21381146f845d140 (diff) | |
download | eclipse.platform.team-3b0f1ccf14bf43c9235a554028d39265553f1bc0.tar.gz eclipse.platform.team-3b0f1ccf14bf43c9235a554028d39265553f1bc0.tar.xz eclipse.platform.team-3b0f1ccf14bf43c9235a554028d39265553f1bc0.zip |
Bug 42889 [Live Sync View] subscriber actions useing wrong subscriber
Diffstat (limited to 'bundles')
2 files changed, 14 insertions, 28 deletions
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 ece2c308f..c63610498 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 @@ -42,6 +42,8 @@ import org.eclipse.team.ui.sync.SyncInfoSet; */ public class MergeUpdateAction extends SafeUpdateAction { + TeamSubscriber currentSubcriber = null; + /* (non-Javadoc) * @see org.eclipse.team.internal.ccvs.ui.subscriber.SafeUpdateAction#getOverwriteLocalChanges() */ @@ -62,7 +64,9 @@ public class MergeUpdateAction extends SafeUpdateAction { protected void updated(IResource[] resources) throws TeamException { // Mark all succesfully updated resources as merged - ((CVSMergeSubscriber)getSubscriber()).merged(resources); + if(resources.length > 0 && currentSubcriber != null) { + ((CVSMergeSubscriber)currentSubcriber).merged(resources); + } } /* (non-Javadoc) @@ -92,12 +96,13 @@ public class MergeUpdateAction extends SafeUpdateAction { */ protected void runSafeUpdate(SyncInfo[] nodes, IProgressMonitor monitor) throws TeamException { if(nodes.length > 0) { - TeamSubscriber subscriber = nodes[0].getSubscriber(); - if (!(subscriber instanceof CVSMergeSubscriber)) { - throw new CVSException(Policy.bind("MergeUpdateAction.invalidSubscriber", subscriber.getId().toString())); //$NON-NLS-1$ + // Assumption that all nodes are from the same subscriber. + currentSubcriber = nodes[0].getSubscriber(); + if (!(currentSubcriber instanceof CVSMergeSubscriber)) { + throw new CVSException(Policy.bind("MergeUpdateAction.invalidSubscriber", currentSubcriber.getId().toString())); //$NON-NLS-1$ } - CVSTag startTag = ((CVSMergeSubscriber)subscriber).getStartTag(); - CVSTag endTag = ((CVSMergeSubscriber)subscriber).getEndTag(); + CVSTag startTag = ((CVSMergeSubscriber)currentSubcriber).getStartTag(); + CVSTag endTag = ((CVSMergeSubscriber)currentSubcriber).getEndTag(); // Incoming additions require different handling then incoming changes and deletions List additions = new ArrayList(); diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/sync/SubscriberAction.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/sync/SubscriberAction.java index 99a09a57a..9a91a8205 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/sync/SubscriberAction.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/sync/SubscriberAction.java @@ -19,7 +19,6 @@ import java.util.Set; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.team.core.TeamException; import org.eclipse.team.core.subscribers.SyncInfo; -import org.eclipse.team.core.subscribers.TeamSubscriber; import org.eclipse.team.internal.ui.actions.TeamAction; /** @@ -28,8 +27,6 @@ import org.eclipse.team.internal.ui.actions.TeamAction; */ public abstract class SubscriberAction extends TeamAction { - private TeamSubscriber subscriber; - /** * This method returns all instances of SynchronizeViewNode that are in the current * selection. For a table view, this is any resource that is directly selected. @@ -91,28 +88,12 @@ public abstract class SubscriberAction extends TeamAction { List filtered = new ArrayList(); for (int i = 0; i < infos.length; i++) { SyncInfo info = infos[i]; - if(subscriber == null) { - subscriber = info.getSubscriber(); - } +// if(subscriber == null) { +// subscriber = info.getSubscriber(); +//} if (select(info)) filtered.add(info); } return (SyncInfo[]) filtered.toArray(new SyncInfo[filtered.size()]); } - - /** - * Returns the TeamSubscriber for this action. - * @return TeamSubscriber - */ - public TeamSubscriber getSubscriber() { - return subscriber; - } - - /** - * Sets the the TeamSubscriber for this action. - * @return TeamSubscriber - */ - public void setSubscriber(TeamSubscriber subscriber) { - this.subscriber = subscriber; - } } |