Class SynchronizeModelAction

All Implemented Interfaces:
IAction, ISelectionChangedListener

public abstract class SynchronizeModelAction extends BaseSelectionListenerAction
This action provides utilities for performing operations on selections that contain ISynchronizeModelElement instances. Subclasses can use this support to filter the selection in order to determine action enablement and generate the input for a SynchronizeModelOperation.
Since:
3.0
See Also:
  • Constructor Details

    • SynchronizeModelAction

      protected SynchronizeModelAction(String text, ISynchronizePageConfiguration configuration)
      Create an action with the given text and configuration. By default, the action registers for selection change with the selection provider from the configuration's site.
      Parameters:
      text - the action's text
      configuration - the actions synchronize page configuration
    • SynchronizeModelAction

      protected SynchronizeModelAction(String text, ISynchronizePageConfiguration configuration, ISelectionProvider selectionProvider)
      Create an action with the given text and configuration. By default, the action registers for selection change with the given selection provider.
      Parameters:
      text - the action's text
      configuration - the actions synchronize page configuration
      selectionProvider - a selection provider
  • Method Details

    • initialize

      protected void initialize(ISynchronizePageConfiguration configuration, ISelectionProvider selectionProvider)
      Method invoked from the constructor. The default implementation registers the action as a selection change listener. Subclasses may override.
      Parameters:
      configuration - the synchronize page configuration
      selectionProvider - a selection provider
    • run

      public void run()
      Description copied from class: Action
      The default implementation of this IAction method does nothing. Subclasses should override this method if they do not need information from the triggering event, or override runWithEvent(Event) if they do.
      Specified by:
      run in interface IAction
      Overrides:
      run in class Action
      See Also:
    • runOperation

      protected void runOperation() throws InvocationTargetException, InterruptedException
      Create and run the operation for this action. By default, the operation is created by calling getSubscriberOperation and then run. Subclasses may override.
      Throws:
      InvocationTargetException - if an error occurs
      InterruptedException - if operation is interrupted
      Since:
      3.1
    • needsToSaveDirtyEditors

      protected boolean needsToSaveDirtyEditors()
      Return whether dirty editor should be saved before this action is run. Default is true.
      Returns:
      whether dirty editor should be saved before this action is run
    • confirmSaveOfDirtyEditor

      protected boolean confirmSaveOfDirtyEditor()
      Returns whether the user should be prompted to save dirty editors. The default is true.
      Returns:
      whether the user should be prompted to save dirty editors
    • getSubscriberOperation

      protected abstract SynchronizeModelOperation getSubscriberOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements)
      Return the subscriber operation associated with this action. This operation will be run when the action is run. Subclass may implement this method and provide an operation subclass or may override the run(IAction) method directly if they choose not to implement a SynchronizeModelOperation.
      Parameters:
      configuration - the synchronize page configuration for the page to which this action is associated
      elements - the selected diff element for which this action is enabled.
      Returns:
      the subscriber operation to be run by this action.
    • handle

      protected void handle(Exception e)
      Generic error handling code that uses an error dialog to show the error to the user. Subclasses can use this method and/or override it.
      Parameters:
      e - the exception that occurred.
    • updateSelection

      protected boolean updateSelection(IStructuredSelection selection)
      Description copied from class: BaseSelectionListenerAction
      Updates this action in response to the given selection.

      The BaseSelectionListenerAction implementation of this method returns true. Subclasses may extend to react to selection changes; however, if the super method returns false, the overriding method must also return false.

      Overrides:
      updateSelection in class BaseSelectionListenerAction
      Parameters:
      selection - the new selection
      Returns:
      true if the action should be enabled for this selection, and false otherwise
    • getSelectedDiffElements

      protected final IDiffElement[] getSelectedDiffElements()
      This method returns all instances of IDiffElement that are in the current selection.
      Returns:
      the selected elements
    • getSyncInfoFilter

      protected FastSyncInfoFilter getSyncInfoFilter()
      Filter uses to filter the user selection to contain only those elements for which this action is enabled. Default filter includes all out-of-sync elements in the current selection. Subclasses may override.
      Returns:
      a sync info filter which selects all out-of-sync resources.
    • getFilteredDiffElements

      protected final IDiffElement[] getFilteredDiffElements()
      Return the selected diff element for which this action is enabled.
      Returns:
      the list of selected diff elements for which this action is enabled.
    • selectionChanged

      public void selectionChanged(ISelection selection)
      Set the selection of this action to the given selection
      Parameters:
      selection - the selection
    • getConfiguration

      public ISynchronizePageConfiguration getConfiguration()
      Returns the configuration showing this action.
      Returns:
      the configuration showing this action.
    • saveAllEditors

      public final boolean saveAllEditors(boolean confirm)
      Save all dirty editors in the workbench that are open on files that may be affected by this operation. Opens a dialog to prompt the user if confirm is true. Return true if successful. Return false if the user has canceled the command. Must be called from the UI thread.
      Parameters:
      confirm - prompt the user if true
      Returns:
      boolean false if the operation was canceled.