Class AbstractCompareCommitsPerformer


  • public abstract class AbstractCompareCommitsPerformer
    extends Object
    An abstract class that provides ability to compare two commits using the EDT comparison mechanism.
    • Field Detail

      • repository

        protected final org.eclipse.jgit.lib.Repository repository
        the Git repository
      • mainCommit

        protected final org.eclipse.jgit.revwalk.RevCommit mainCommit
        the main side commit
      • otherCommit

        protected final org.eclipse.jgit.revwalk.RevCommit otherCommit
        the other side commit
      • matchingStrategy

        protected final MatchingStrategy matchingStrategy
        the matching strategy
      • parseBslModuleStructure

        protected final boolean parseBslModuleStructure
        tells whether to compare a Bsl module with parsing module structure
      • pathToFilter

        protected final Path pathToFilter
        the path limiting search for changes on comparison
    • Constructor Detail

      • AbstractCompareCommitsPerformer

        protected AbstractCompareCommitsPerformer​(org.eclipse.jgit.lib.Repository repository,
                                                  org.eclipse.jgit.revwalk.RevCommit mainCommit,
                                                  org.eclipse.jgit.revwalk.RevCommit otherCommit,
                                                  MatchingStrategy matchingStrategy,
                                                  boolean parseBslModuleStructure,
                                                  Path pathToFilter,
                                                  IQualifiedNameFilePathConverter filePathConverter)
        Creates a new instance with the given parameters.
        Parameters:
        repository - the Git repository to run comparison on, cannot be null
        mainCommit - the main side commit to compare, cannot be null
        otherCommit - the other side commit to compare, cannot be null
        matchingStrategy - the matching strategy, cannot be null
        parseBslModuleStructure - tells whether to compare and merge a Bsl module with parsing module structure
        pathToFilter - the absolute path in the Git repositor—É limiting search for changes on comparison or null to search all changes
        filePathConverter - the qualified name file path converter, cannot be null
    • Method Detail

      • perform

        public void perform​(org.eclipse.core.runtime.IProgressMonitor monitor)
                     throws IOException,
                            InterruptedException
        Performs the 2-way comparison of the specified commits.
        Parameters:
        monitor - the progress monitor to indicate progress, may be null
        Throws:
        IOException - if failed to read the Git repository
        InterruptedException - if the operation was interrupted
      • onNothingToCompare

        protected abstract void onNothingToCompare()
        The callback method if there no changes to compare.
      • runComparison

        protected abstract void runComparison​(List<CompareMergeProcessDescriptor> descriptors)
        Runs the comparison on the builded descriptors.
        Parameters:
        descriptors - the compare/merge process descriptors, cannot be null