|
 |
|
|
org.eclipse.team.ui.synchronize
Class ModelParticipantMergeOperation
java.lang.Object
org.eclipse.core.runtime.jobs.JobChangeAdapter
org.eclipse.team.ui.TeamOperation
org.eclipse.team.ui.synchronize.ModelOperation
org.eclipse.team.ui.synchronize.ModelMergeOperation
org.eclipse.team.ui.synchronize.ModelParticipantMergeOperation
-
All Implemented Interfaces:
-
IJobChangeListener,
IRunnableWithProgress
-
public abstract class ModelParticipantMergeOperation
- extends
ModelMergeOperation
A model merge operation that uses a participant to preview the changes
in either a dialog or the Synchronize view.
-
Since:
- 3.2
Methods inherited from class org.eclipse.team.ui.
TeamOperation
|
canRunAsJob,
getGotoAction,
getJobName,
getKeepOperation,
getOperationIcon,
getPart,
getSchedulingRule,
getShell,
isKeepOneProgressServiceEntry,
isPostponeAutobuild,
isSameFamilyAs,
isUserInitiated,
run,
shouldRun
|
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
REQUEST_PREVIEW
public static final int REQUEST_PREVIEW
- Status code that can be returned from the
ModelMergeOperation.performMerge(IProgressMonitor)
method to indicate that a subclass would like to force a preview of the merge.
The message of such a status should be ignored.
-
See Also:
-
Constant Field Values
ModelParticipantMergeOperation
protected ModelParticipantMergeOperation(
IWorkbenchPart part,
ISynchronizationScopeManager manager)
- Create a merge participant operation for the scope of the given manager.
-
Parameters:
-
part - the workbench part from which the merge was launched or null
-
manager - the scope manager
initializeContext
protected void initializeContext(
IProgressMonitor monitor)
throws
CoreException
-
Description copied from class:
ModelMergeOperation
- Initialize the merge context for this merge operation.
After this method is invoked, the
ModelOperation.getContext()
method must return an instance of
IMergeContext
that is fully initialized.
-
-
Specified by:
-
initializeContext
in class
ModelMergeOperation
-
-
Parameters:
-
monitor - a progress monitor
-
Throws:
-
CoreException
execute
protected void execute(
IProgressMonitor monitor)
throws
InvocationTargetException,
InterruptedException
-
Description copied from class:
ModelMergeOperation
- Perform a merge. First
ModelMergeOperation.initializeContext(IProgressMonitor) is
called to determine the set of resource changes. Then the
ModelMergeOperation.executeMerge(IProgressMonitor) method is invoked.
-
-
Overrides:
-
execute
in class
ModelMergeOperation
-
-
Parameters:
-
monitor - a progress monitor
-
Throws:
-
InvocationTargetException
-
InterruptedException
executeMerge
protected void executeMerge(
IProgressMonitor monitor)
throws
CoreException
-
Description copied from class:
ModelMergeOperation
- Perform a merge. This method is invoked from
ModelMergeOperation.execute(IProgressMonitor) after the context has been
initialized. If there are changes in the context, they will be validating
by calling
ModelMergeOperation.validateMerge(IMergeContext, IProgressMonitor) . If
there are no validation problems,
ModelMergeOperation.performMerge(IProgressMonitor)
will then be called to perform the merge. If there are problems encountered
or if a preview was requested,
ModelMergeOperation.handlePreviewRequest() is called.
-
-
Overrides:
-
executeMerge
in class
ModelMergeOperation
-
-
Parameters:
-
monitor - a progress monitor
-
Throws:
-
CoreException
handlePreviewRequest
protected void handlePreviewRequest()
-
Description copied from class:
ModelMergeOperation
- A preview of the merge has been requested. By default, this method does
nothing. Subclasses that wish to support previewing must override this
method to preview the merge and the
ModelOperation.getPreviewRequestMessage()
to have the option presented to the user if the scope changes.
-
-
Overrides:
-
handlePreviewRequest
in class
ModelMergeOperation
-
belongsTo
public boolean belongsTo(
Object family)
-
Description copied from class:
TeamOperation
- Return whether the job that is running this operation should be considered
a member member of the given family. Subclasses can override this method in
order to support the family based functionality provided by the
IJobManager .
By default, false is always returned. Subclasses that override the
isKeepOneProgressServiceEntry method do not need to override
this method, but instead should override isSameFamilyAs .
-
-
Overrides:
-
belongsTo
in class
TeamOperation
-
-
Parameters:
-
family - the family being tested.
-
Returns:
- whether the job that is running this operation should be considered
a member member of the given family.
isPreviewInDialog
protected boolean isPreviewInDialog()
- Return whether previews should occur in a dialog or in the synchronize view.
-
-
Returns:
- whether previews should occur in a dialog or in the synchronize view
getContext
protected
ISynchronizationContext getContext()
-
Description copied from class:
ModelOperation
- Return the synchronization context for the operation or
null
if the operation doesn't have one or if it has not yet been created.
By default, the method always returns null . Subclasses may override.
-
-
Overrides:
-
getContext
in class
ModelOperation
-
-
Returns:
- the synchronization context for the operation or
null
getPreviewRequestMessage
protected
String getPreviewRequestMessage()
-
Description copied from class:
ModelOperation
- Return a string to be used in the preview request on the scope prompt
or
null if a preview of the operation results is not possible.
By default, null is returned but subclasses may override.
-
-
Overrides:
-
getPreviewRequestMessage
in class
ModelOperation
-
-
Returns:
- a string to be used in the preview request on the scope prompt
or
null if a preview of the operation results is not possible
createParticipant
protected
ModelSynchronizeParticipant createParticipant()
- Create the synchronize participant to be used by this operation
to preview changes. By default, a
ModelSynchronizeParticipant
is created using the scope manager (
ModelOperation.getScopeManager() ) context
from (
createMergeContext() ) and job name (
TeamOperation.getJobName() )
of this operation. Subclasses may override this method.
Once created, it is the responsibility of the participant to dispose of the
synchronization context when it is no longer needed.
-
-
Returns:
- a newly created synchronize participant to be used by this operation
createMergeContext
protected abstract
SynchronizationContext createMergeContext()
- Create a merge context for use by this operation. This method
is not long running so the operation should not refresh the
context or perform other long running operations in this thread.
However the context may start initializing in another thread as long
as the job used to perform the initialization belongs to the
family that matches the context.
-
-
Returns:
- a merge context for use by this operation
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|
|