Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2005-11-18 03:11:59 +0000
committerMichael Valenta2005-11-18 03:11:59 +0000
commit7c94124e5eeec9b23d63979c13adc2940c3f7ffa (patch)
tree62fab92a80926cb93a3ab046aada4b9409d01868
parent23b3d2d0e3f0f8244edda7799a9f1d6d50095e1b (diff)
downloadeclipse.platform.team-7c94124e5eeec9b23d63979c13adc2940c3f7ffa.tar.gz
eclipse.platform.team-7c94124e5eeec9b23d63979c13adc2940c3f7ffa.tar.xz
eclipse.platform.team-7c94124e5eeec9b23d63979c13adc2940c3f7ffa.zip
Added mark-as-merged for files and fixed save
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/actions.properties4
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java4
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MarkAsMergedAction.java107
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MergeIncomingChangesAction.java (renamed from bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/OptimisticUpdateAction.java)22
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelProviderAction.java78
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelSynchronizeParticipant.java19
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ModelProviderOperation.java16
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingMergeOperation.java50
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingOperation.java27
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ParticipantPageSaveablePart.java1
10 files changed, 234 insertions, 94 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/actions.properties b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/actions.properties
index ed78c54e2..2f55ed2b8 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/actions.properties
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/actions/actions.properties
@@ -97,4 +97,6 @@ action.removeFromView.label=&Remove from View
action.merge.label=Merge
action.merge.tooltip=Merge All Incoming Changes
action.merge.description=Merge All Incoming Changes
-action.merge.image=checkout_action.gif \ No newline at end of file
+action.merge.image=checkout_action.gif
+
+action.markAsMerged.label=Mark &as Merged
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java
index 2f7fa022d..fb0a13b1b 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/CommonViewerAdvisor.java
@@ -35,7 +35,9 @@ public class CommonViewerAdvisor extends StructuredViewerAdvisor implements INav
* @return a newly created common viewer
*/
private static CommonViewer createViewer(Composite parent, ISynchronizePageConfiguration configuration) {
- return new CommonViewer(TEAM_NAVIGATOR_CONTENT, parent, SWT.NONE);
+ CommonViewer v = new CommonViewer(TEAM_NAVIGATOR_CONTENT, parent, SWT.NONE);
+ configuration.getSite().setSelectionProvider(v);
+ return v;
}
/**
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MarkAsMergedAction.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MarkAsMergedAction.java
new file mode 100644
index 000000000..0074816fe
--- /dev/null
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MarkAsMergedAction.java
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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.mapping;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.*;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.team.core.synchronize.SyncInfo;
+import org.eclipse.team.internal.ui.Utils;
+import org.eclipse.team.ui.mapping.IMergeContext;
+import org.eclipse.team.ui.mapping.ISynchronizationContext;
+import org.eclipse.team.ui.operations.ModelProviderOperation;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+import org.eclipse.ui.IContributorResourceAdapter;
+
+/**
+ * Action contributed by the {@link ModelSynchronizeParticipant} that
+ * will mark a file as merged.
+ */
+public class MarkAsMergedAction extends ModelProviderAction {
+
+ public MarkAsMergedAction(ISynchronizePageConfiguration configuration) {
+ super(null, configuration);
+ Utils.initAction(this, "action.markAsMerged."); //$NON-NLS-1$
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ public void run() {
+ final IMergeContext context = (IMergeContext)((ModelSynchronizeParticipant)getConfiguration().getParticipant()).getContext();
+ try {
+ new ModelProviderOperation(getConfiguration()) {
+ public void run(IProgressMonitor monitor) throws InvocationTargetException,
+ InterruptedException {
+ try {
+ SyncInfo[] infos = getSelectedSyncInfos(getStructuredSelection());
+ for (int i = 0; i < infos.length; i++) {
+ SyncInfo info = infos[i];
+ // TODO: mark as merged should support batching
+ IStatus status = context.markAsMerged((IFile)info.getLocal(), monitor);
+ if (!status.isOK())
+ throw new CoreException(status);
+ }
+ } catch (CoreException e) {
+ throw new InvocationTargetException(e);
+ }
+ }
+
+ }.run();
+ } catch (InvocationTargetException e) {
+ Utils.handle(e);
+ } catch (InterruptedException e) {
+ // Ignore
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ui.mapping.ModelProviderAction#isEnabledForSelection(org.eclipse.jface.viewers.IStructuredSelection)
+ */
+ protected boolean isEnabledForSelection(IStructuredSelection selection) {
+ return getSelectedSyncInfos(selection).length > 0;
+ }
+
+ protected SyncInfo[] getSelectedSyncInfos(IStructuredSelection selection) {
+ // TODO: for now, just enable for files
+ if (selection.size() == 1) {
+ Object o = selection.getFirstElement();
+ IResource resource = null;
+ if (o instanceof IResource) {
+ resource = (IResource) o;
+ } else if (o instanceof IAdaptable) {
+ IAdaptable adaptable = (IAdaptable) o;
+ resource = (IResource)adaptable.getAdapter(IResource.class);
+ if (resource == null) {
+ IContributorResourceAdapter adapter = (IContributorResourceAdapter)adaptable.getAdapter(IContributorResourceAdapter.class);
+ if (adapter != null)
+ resource = adapter.getAdaptedResource(adaptable);
+ }
+ }
+ if (resource != null && resource.getType() == IResource.FILE) {
+ ISynchronizationContext context = getContext();
+ SyncInfo info = context.getSyncInfoTree().getSyncInfo(resource);
+ if (info != null && SyncInfo.getDirection(info.getKind()) == SyncInfo.CONFLICTING) {
+ return new SyncInfo[] { info };
+ }
+ }
+ }
+ return new SyncInfo[0];
+ }
+
+ private ISynchronizationContext getContext() {
+ return ((ModelSynchronizeParticipant)getConfiguration().getParticipant()).getContext();
+ }
+
+}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/OptimisticUpdateAction.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MergeIncomingChangesAction.java
index 1571c4e2b..bf1470608 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/OptimisticUpdateAction.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/MergeIncomingChangesAction.java
@@ -14,7 +14,7 @@ import java.lang.reflect.InvocationTargetException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.team.internal.ui.Utils;
import org.eclipse.team.ui.mapping.IMergeContext;
import org.eclipse.team.ui.operations.ModelProviderOperation;
@@ -23,12 +23,10 @@ import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
/**
* Action that performs an optimistic merge
*/
-public class OptimisticUpdateAction extends Action {
+public class MergeIncomingChangesAction extends ModelProviderAction {
- private final ISynchronizePageConfiguration configuration;
-
- public OptimisticUpdateAction(ISynchronizePageConfiguration configuration) {
- this.configuration = configuration;
+ public MergeIncomingChangesAction(ISynchronizePageConfiguration configuration) {
+ super(null, configuration);
Utils.initAction(this, "action.merge."); //$NON-NLS-1$
}
@@ -36,9 +34,9 @@ public class OptimisticUpdateAction extends Action {
* @see org.eclipse.jface.action.Action#run()
*/
public void run() {
- final IMergeContext context = (IMergeContext)((ModelSynchronizeParticipant)configuration.getParticipant()).getContext();
+ final IMergeContext context = (IMergeContext)((ModelSynchronizeParticipant)getConfiguration().getParticipant()).getContext();
try {
- new ModelProviderOperation(configuration) {
+ new ModelProviderOperation(getConfiguration()) {
public void run(IProgressMonitor monitor) throws InvocationTargetException,
InterruptedException {
try {
@@ -55,6 +53,14 @@ public class OptimisticUpdateAction extends Action {
// Ignore
}
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ui.mapping.ModelProviderAction#isEnabledForSelection(org.eclipse.jface.viewers.IStructuredSelection)
+ */
+ protected boolean isEnabledForSelection(IStructuredSelection selection) {
+ // This action is always enabled
+ return true;
+ }
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelProviderAction.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelProviderAction.java
new file mode 100644
index 000000000..802560489
--- /dev/null
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelProviderAction.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 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.mapping;
+
+import org.eclipse.jface.viewers.*;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
+import org.eclipse.ui.actions.BaseSelectionListenerAction;
+
+/**
+ * Model provider actions for use with a {@link ModelSynchronizeParticipant}.
+ *
+ * @since 3.2
+ */
+public abstract class ModelProviderAction extends BaseSelectionListenerAction {
+
+ private final ISynchronizePageConfiguration configuration;
+
+ public ModelProviderAction(String text, ISynchronizePageConfiguration configuration) {
+ super(text);
+ this.configuration = configuration;
+ initialize(configuration);
+ }
+
+ /**
+ * @param configuration
+ */
+ private void initialize(ISynchronizePageConfiguration configuration) {
+ configuration.getSite().getSelectionProvider().addSelectionChangedListener(this);
+ configuration.getPage().getViewer().getControl().addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent e) {
+ getConfiguration().getSite().getSelectionProvider().removeSelectionChangedListener(ModelProviderAction.this);
+ }
+ });
+ }
+
+ protected ISynchronizePageConfiguration getConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * Set the selection of this action to the given selection
+ *
+ * @param selection the selection
+ */
+ public void selectionChanged(ISelection selection) {
+ if (selection instanceof IStructuredSelection) {
+ super.selectionChanged((IStructuredSelection)selection);
+ } else {
+ super.selectionChanged(StructuredSelection.EMPTY);
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
+ */
+ protected boolean updateSelection(IStructuredSelection selection) {
+ super.updateSelection(selection);
+ return isEnabledForSelection(selection);
+ }
+
+ /**
+ * @param selection
+ * @return
+ */
+ protected abstract boolean isEnabledForSelection(IStructuredSelection selection);
+
+}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelSynchronizeParticipant.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelSynchronizeParticipant.java
index c59b73970..428170db3 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelSynchronizeParticipant.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/mapping/ModelSynchronizeParticipant.java
@@ -26,11 +26,8 @@ import org.eclipse.ui.part.IPageBookViewPage;
public class ModelSynchronizeParticipant extends
AbstractSynchronizeParticipant {
- /**
- * The id of a workspace action group to which additions actions can
- * be added.
- */
public static final String TOOLBAR_CONTRIBUTION_GROUP = "toolbar_group_1"; //$NON-NLS-1$
+ public static final String CONTEXT_MENU_CONTRIBUTION_GROUP = "context_menu_group_1"; //$NON-NLS-1$
private ISynchronizationContext context;
@@ -38,24 +35,24 @@ public class ModelSynchronizeParticipant extends
* CVS workspace action contribution
*/
public class ModelActionContribution extends SynchronizePageActionGroup {
- private OptimisticUpdateAction updateToolbarAction;
+ private MergeIncomingChangesAction updateToolbarAction;
public void initialize(ISynchronizePageConfiguration configuration) {
super.initialize(configuration);
ISynchronizationContext context = ((ModelSynchronizeParticipant)configuration.getParticipant()).getContext();
if (context instanceof IMergeContext) {
- updateToolbarAction = new OptimisticUpdateAction(configuration);
+ updateToolbarAction = new MergeIncomingChangesAction(configuration);
appendToGroup(
ISynchronizePageConfiguration.P_TOOLBAR_MENU,
TOOLBAR_CONTRIBUTION_GROUP,
updateToolbarAction);
}
-// appendToGroup(
-// ISynchronizePageConfiguration.P_CONTEXT_MENU,
-// CONTEXT_MENU_CONTRIBUTION_GROUP_1,
-// new WorkspaceUpdateAction(configuration));
+ appendToGroup(
+ ISynchronizePageConfiguration.P_CONTEXT_MENU,
+ CONTEXT_MENU_CONTRIBUTION_GROUP,
+ new MarkAsMergedAction(configuration));
// appendToGroup(
// ISynchronizePageConfiguration.P_CONTEXT_MENU,
// CONTEXT_MENU_CONTRIBUTION_GROUP_1,
@@ -126,7 +123,7 @@ public class ModelSynchronizeParticipant extends
ISynchronizePageConfiguration configuration) {
configuration.setProperty(ISynchronizePageConfiguration.P_TOOLBAR_MENU, new String[] {ISynchronizePageConfiguration.MODE_GROUP, TOOLBAR_CONTRIBUTION_GROUP});
configuration.addActionContribution(new ModelActionContribution());
- configuration.setProperty(ISynchronizePageConfiguration.P_CONTEXT_MENU, new String[0]);
+ configuration.setProperty(ISynchronizePageConfiguration.P_CONTEXT_MENU, new String[] { CONTEXT_MENU_CONTRIBUTION_GROUP });
configuration.setSupportedModes(ISynchronizePageConfiguration.ALL_MODES);
configuration.setMode(ISynchronizePageConfiguration.INCOMING_MODE);
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ModelProviderOperation.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ModelProviderOperation.java
index de7aea707..1afa636c8 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ModelProviderOperation.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ModelProviderOperation.java
@@ -25,10 +25,9 @@ import org.eclipse.team.ui.synchronize.ISynchronizePageSite;
import org.eclipse.ui.IWorkbenchPart;
/**
- * @author Administrator
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
+ * An operation for performing model provider based operations.
+ *
+ * @since 3.2
*/
public abstract class ModelProviderOperation extends TeamOperation {
@@ -46,9 +45,16 @@ public abstract class ModelProviderOperation extends TeamOperation {
}
protected ModelProviderOperation(ISynchronizePageConfiguration configuration) {
- super(getPart(configuration));
+ this(getPart(configuration));
}
+ /**
+ * @param part
+ */
+ public ModelProviderOperation(IWorkbenchPart part) {
+ super(part);
+ }
+
protected void performMerge(IMergeContext context, IProgressMonitor monitor) throws CoreException {
monitor.beginTask(null, IProgressMonitor.UNKNOWN);
ModelProvider[] providers = context.getScope().getModelProviders();
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingMergeOperation.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingMergeOperation.java
index 799e34585..4a678c107 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingMergeOperation.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingMergeOperation.java
@@ -16,13 +16,14 @@ import java.util.List;
import org.eclipse.compare.CompareConfiguration;
import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
import org.eclipse.team.internal.ui.Policy;
import org.eclipse.team.internal.ui.TeamUIPlugin;
import org.eclipse.team.internal.ui.mapping.*;
-import org.eclipse.team.ui.mapping.*;
+import org.eclipse.team.ui.mapping.IMergeContext;
+import org.eclipse.team.ui.mapping.ISynchronizationContext;
import org.eclipse.team.ui.synchronize.ParticipantPageDialog;
import org.eclipse.ui.IWorkbenchPart;
@@ -192,49 +193,6 @@ public abstract class ResourceMappingMergeOperation extends ResourceMappingOpera
* @return a merge context for merging the mappings of the input
*/
protected abstract IMergeContext buildMergeContext(IProgressMonitor monitor);
-
- /**
- * Merge all the mappings that come from the given provider. By default,
- * an automatic merge is attempted. After this, a manual merge (i.e. with user
- * intervention) is attempted on any mappings that could not be merged
- * automatically.
- * @param provider the model provider
- * @param mappings the mappings to be merged
- * @param monitor a progress monitor
- * @throws CoreException
- */
- protected boolean performMerge(ModelProvider provider, IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException {
- try {
- monitor.beginTask(null, 100);
- IStatus status = performAutoMerge(provider, mergeContext, Policy.subMonitorFor(monitor, 95));
- if (!status.isOK()) {
- if (status.getCode() == IMergeStatus.CONFLICTS) {
- return false;
- } else {
- throw new TeamException(status);
- }
- }
- } finally {
- monitor.done();
- }
- return true;
- }
-
- /**
- * Attempt to merge automatically. The returned status will indicate which
- * mappings could not be merged automatically.
- * @param provider the provider for the mappings being merged
- * @param mergeContext the context for the merge
- * @param monitor a progress monitor
- * @return a status indicating success or failure. A failure status
- * will be a MergeStatus that includes the mappings that could not be merged.
- * @throws CoreException if errors occurred
- */
- protected IStatus performAutoMerge(ModelProvider provider, IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException {
- IResourceMappingMerger merger = getMerger(provider);
- IStatus status = merger.merge(mergeContext, monitor);
- return status;
- }
/* (non-Javadoc)
* @see org.eclipse.team.ui.operations.ResourceMappingOperation#getContext()
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingOperation.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingOperation.java
index ca1a40ad8..83fc87061 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingOperation.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/operations/ResourceMappingOperation.java
@@ -12,13 +12,13 @@ package org.eclipse.team.ui.operations;
import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.resources.mapping.*;
+import org.eclipse.core.resources.mapping.ResourceMapping;
+import org.eclipse.core.resources.mapping.ResourceMappingContext;
import org.eclipse.core.runtime.*;
import org.eclipse.jface.window.Window;
import org.eclipse.team.internal.ui.dialogs.AdditionalMappingsDialog;
-import org.eclipse.team.internal.ui.mapping.DefaultResourceMappingMerger;
-import org.eclipse.team.ui.TeamOperation;
-import org.eclipse.team.ui.mapping.*;
+import org.eclipse.team.ui.mapping.IResourceMappingScope;
+import org.eclipse.team.ui.mapping.ISynchronizationContext;
import org.eclipse.ui.IWorkbenchPart;
/**
@@ -60,7 +60,7 @@ import org.eclipse.ui.IWorkbenchPart;
*
* @since 3.2
*/
-public abstract class ResourceMappingOperation extends TeamOperation {
+public abstract class ResourceMappingOperation extends ModelProviderOperation {
private static final ScopeGenerator DEFAULT_SCOPE_BUILDER = new ScopeGenerator();
private final ResourceMapping[] selectedMappings;
@@ -151,23 +151,6 @@ public abstract class ResourceMappingOperation extends TeamOperation {
protected abstract void execute(IProgressMonitor monitor) throws InvocationTargetException,
InterruptedException;
- /**
- * Return the auto-merger associated with the given model provider
- * view the adaptable mechanism.
- * If the model provider does not have a merger associated with
- * it, a default merger that performs the merge at the file level
- * is returned.
- * @param provider the model provider of the elements to be merged
- * @return a merger
- */
- protected IResourceMappingMerger getMerger(ModelProvider provider) {
- Object o = provider.getAdapter(IResourceMappingMerger.class);
- if (o instanceof IResourceMappingMerger) {
- return (IResourceMappingMerger) o;
- }
- return new DefaultResourceMappingMerger(provider);
- }
-
public IResourceMappingScope getScope() {
return scope;
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ParticipantPageSaveablePart.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ParticipantPageSaveablePart.java
index 3dd5c943f..93f83883e 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ParticipantPageSaveablePart.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ParticipantPageSaveablePart.java
@@ -313,6 +313,7 @@ public class ParticipantPageSaveablePart extends SaveablePartAdapter implements
}
}
);
+ hookContentChangeListener((ICompareInput)input);
}
return newViewer;
}

Back to the top