Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-09-11 15:49:21 +0000
committerJean Michel-Lemieux2003-09-11 15:49:21 +0000
commit3b0f1ccf14bf43c9235a554028d39265553f1bc0 (patch)
tree41ce0b72a762908290fa4a21400e95a5f27adff6
parentb4f1727605b64f646a64da8b21381146f845d140 (diff)
downloadeclipse.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
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/MergeUpdateAction.java17
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/sync/SubscriberAction.java25
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;
- }
}

Back to the top