Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.team.ui.synchronize
Class ModelParticipantMergeOperation

java.lang.Object
  extended by 

org.eclipse.core.runtime.jobs.JobChangeAdapter
      extended by 

org.eclipse.team.ui.TeamOperation
          extended by 

org.eclipse.team.ui.synchronize.ModelOperation
              extended by 

org.eclipse.team.ui.synchronize.ModelMergeOperation
                  extended by 
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

Field Summary
static 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.
 
Constructor Summary
protected ModelParticipantMergeOperation ( IWorkbenchPart part, ISynchronizationScopeManager manager)
          Create a merge participant operation for the scope of the given manager.
 
Method Summary
 boolean belongsTo ( Object family)
          Return whether the job that is running this operation should be considered a member member of the given family.
protected abstract   SynchronizationContext createMergeContext ()
          Create a merge context for use by this operation.
protected   ModelSynchronizeParticipant createParticipant ()
          Create the synchronize participant to be used by this operation to preview changes.
protected  void execute ( IProgressMonitor monitor)
          Perform a merge.
protected  void executeMerge ( IProgressMonitor monitor)
          Perform a merge.
protected   ISynchronizationContext getContext ()
          Return the synchronization context for the operation or null if the operation doesn't have one or if it has not yet been created.
protected   String getPreviewRequestMessage ()
          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.
protected  void handlePreviewRequest ()
          A preview of the merge has been requested.
protected  void initializeContext ( IProgressMonitor monitor)
          Initialize the merge context for this merge operation.
protected  boolean isPreviewInDialog ()
          Return whether previews should occur in a dialog or in the synchronize view.
 
Methods inherited from class org.eclipse.team.ui.synchronize. ModelMergeOperation
handleMergeFailure, handleNoChanges, handleValidationFailure, hasChangesOfInterest, performMerge, performMerge, validateMerge
 
Methods inherited from class org.eclipse.team.ui.synchronize. ModelOperation
beginOperation, endOperation, getScope, getScopeManager, initializeScope, isPreviewRequested, promptForInputChange, promptIfInputChange, run, sortByExtension
 
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 org.eclipse.core.runtime.jobs. JobChangeAdapter
aboutToRun, awake, done, running, scheduled, sleeping
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

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
Method Detail

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

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire