Class RightsPartialModelController

All Implemented Interfaces:
IPartialModelControllerDelegate

public class RightsPartialModelController extends AbstractMdAwarePartialModelController
Partial model controller for role's rights.
  • Constructor Details

  • Method Details

    • editMergeSettings

      public boolean editMergeSettings(IPartialModel partialModel, IPartialModelNode node, IComparisonSession comparisonSession, org.eclipse.swt.widgets.Shell shell, boolean readOnly, org.eclipse.swt.graphics.Color colorHasDiffs, org.eclipse.swt.graphics.Color colorOnlyMain, org.eclipse.swt.graphics.Color colorOnlyOther, String mainComparisonSideName, String otherComparisonSideName, DtComparisonView parentComparisonView, ISelectionProviderDelegate selectionProviderDelegate, org.eclipse.jface.resource.ResourceManager resourceManager)
      Description copied from interface: IPartialModelControllerDelegate
      If the node is supported, handles the editing of the specified node's merge settings.
      Parameters:
      partialModel - the partial model
      node - the node to edit merge settings of
      comparisonSession - the comparison session
      shell - the parent shell, can not be null
      readOnly - true if it is possible to set merge settings and false if it is only possible to view the difference in node
      colorHasDiffs - the color for 'node has diffs' case, cannot be null.
      colorOnlyMain - the color for 'node has only main object' case, cannot be null.
      colorOnlyOther - the color for 'node has only other object' case, cannot be null.
      mainComparisonSideName - the main comparison side name, cannot be null.
      otherComparisonSideName - the other comparison side name, cannot be null.
      parentComparisonView - the parent comparison view this dialog was called from, cannot be null
      selectionProviderDelegate - the selection provider delegate, cannot be null.
      resourceManager - the resource manager, cannot be null
      Returns:
      true if the node's merge settings have been successfully edited
    • fillNodeProperties

      public Collection<IPartialModelNode> fillNodeProperties(IPartialModel partialModel, IDirectPartialModelNode directNode, IComparisonSession session, ILinkRepresentationSupport linkRepresentationSupport, ComparisonContext comparisonContext)
      Description copied from interface: IPartialModelControllerDelegate
      Fills properties of the specified direct partial model node according to the comparison model node.
      Parameters:
      partialModel - the partial model hosting the direct node
      directNode - the direct node to fill properties for
      session - the comparison session
      comparisonContext - the comparison context, not null
      Returns:
      null if this controller does not support the input partial model node, or a collection of output nodes whose properties must be filled by the caller (may be empty)
    • getTopNodes

      public IPartialModelNode[] getTopNodes(IPartialModel partialModel)
      Description copied from interface: IPartialModelControllerDelegate
      Returns a sorted array of top nodes of the specified partial model.
      Parameters:
      partialModel - the partial model
      Returns:
      a sorted array of top nodes
    • positionChildNode

      public IPartialModelNode positionChildNode(IPartialModel partialModel, IPartialModelNode parentNode, ComparisonNode modelNode, IComparisonSession comparisonSession)
      Description copied from interface: IPartialModelControllerDelegate
      If supported by this controller, positions the specified comparison model node in a subtree of the specified partial model node. This may involve creation of additional (intermediate) subparents for hosting the positioned node.
      Parameters:
      partialModel - the partial model
      parentNode - the parent direct partial model node
      modelNode - the comparison model node to be positioned
      comparisonSession - the comparison session
      Returns:
      the positioned partial model node or null if this controller does not support the specified model node
    • refreshNode

      public boolean refreshNode(IPartialModel partialModel, IPartialModelNode node, IComparisonSession comparisonSession)
      Description copied from interface: IPartialModelControllerDelegate
      Refreshes the partial model node properties according to the supported logic.
      Parameters:
      partialModel - the partial model
      node - the partial model node to refresh
      comparisonSession - the comparison session
      Returns:
      true if the controller supports this node
    • setMergeRule

      public boolean setMergeRule(IPartialModel partialModel, IComparisonSession comparisonSession, IMergeRulePartialModelNode originalNode, MergeRule rule, ComparisonContext comparisonContext)
      Description copied from interface: IPartialModelControllerDelegate
      Handles the merge rule change.
      Parameters:
      partialModel - the partial model
      comparisonSession - the comparison session
      originalNode - the node in which the rule has been set
      rule - the rule value that has been set
      comparisonContext - the comparison context, not null
      Returns:
      true if this controller supported the operation for the provided arguments
    • supportsComparisonUsingExternalTool

      public boolean supportsComparisonUsingExternalTool(IPartialModelNode node)
      Description copied from interface: IPartialModelControllerDelegate
      Tells whether the delegate supports comparison using external tool of the specified node.
      Parameters:
      node - the partial mode node, cannot be null
      Returns:
      true if the delegate supports comparison using external tool, false otherwise
    • compareUsingExternalTool

      public boolean compareUsingExternalTool(IPartialModelNode node, org.eclipse.swt.widgets.Shell shell, String mainComparisonSideName, String otherComparisonSideName)
      Description copied from interface: IPartialModelControllerDelegate
      Compares the specified node using external tool if the node is supported.
      Parameters:
      node - the partial node to compare using external tool, cannot be null
      shell - the parent shell, cannot be null
      mainComparisonSideName - the main comparison side name, cannot be null
      otherComparisonSideName - the other comparison side name, cannot be null
      Returns:
      true if the node is supported to be compared using external tool, false otherwise
    • supportsMergingUsingExternalTool

      public boolean supportsMergingUsingExternalTool(IPartialModelNode node)
      Description copied from interface: IPartialModelControllerDelegate
      Tells whether the delegate supports merging using external tool of the specified node.
      Parameters:
      node - the partial mode node, cannot be null
      Returns:
      true if the delegate supports merging using external tool, false otherwise
    • mergeUsingExternalTool

      public boolean mergeUsingExternalTool(IPartialModel partialModel, IPartialModelNode node, org.eclipse.swt.widgets.Shell shell, String mainComparisonSideName, String otherComparisonSideName)
      Description copied from interface: IPartialModelControllerDelegate
      Merges the specified node using external tool if the node is supported.
      Parameters:
      partialModel - the partial model, cannot be null
      node - the partial node to merge using external tool, cannot be null
      shell - the parent shell, cannot be null
      mainComparisonSideName - the main comparison side name, cannot be null
      otherComparisonSideName - the other comparison side name, cannot be null
      Returns:
      true if the node is supported to be merged using external tool, false otherwise
    • createFeatureNode

      protected IPartialFeatureNode createFeatureNode(IPartialModelNode parent, AbstractComparedEmfObjects<?> comparedParentObjects, ComparisonNode comparisonNode, org.eclipse.emf.ecore.EStructuralFeature feature, String mainLabel, String otherLabel, IComparisonSession session, ComparisonContext comparisonContext)
      Description copied from class: AbstractEmfBasedPartialModelController
      Creates the node for feature.
      Overrides:
      createFeatureNode in class AbstractEmfBasedPartialModelController
      Parameters:
      parent - the parent node.
      comparedParentObjects - the parent node compared objects.
      comparisonNode - the related comparison node.
      feature - the feature.
      mainLabel - the main label.
      otherLabel - the other label.
      session - the comparison session.
      comparisonContext - the comparison context, not null
      Returns:
      the created node, never null.
    • getChildrenFeatureNodes

      protected List<IPartialFeatureNode> getChildrenFeatureNodes(IPartialModel partialModel, AbstractPartialModelNode node, IComparisonSession session, ILinkRepresentationSupport linkRepresentationSupport, Collection<IPartialModelNode> output, ComparisonContext comparisonContext)
      Overrides:
      getChildrenFeatureNodes in class AbstractEmfBasedPartialModelController
    • getSingleRepresentation

      protected String getSingleRepresentation(IComparisonDataSource dataSource, org.eclipse.emf.ecore.EObject context, Object value, org.eclipse.emf.ecore.EStructuralFeature feature)
      Overrides:
      getSingleRepresentation in class AbstractMdAwarePartialModelController
    • isSupported

      protected boolean isSupported(ComparisonNode node)
      Specified by:
      isSupported in class AbstractEmfBasedPartialModelController
    • registerInnerElementSuppliers

      protected void registerInnerElementSuppliers(Consumer<IInnerElementSupplier> collector)
      Description copied from class: AbstractEmfBasedPartialModelController
      Gets the collection of registered inner elements suppliers used to form the customized nodes of the partial model.
      Overrides:
      registerInnerElementSuppliers in class AbstractMdAwarePartialModelController
      Parameters:
      collector - Supplier collector.