diff options
Diffstat (limited to 'bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RangeDifferenceComparator.java')
-rw-r--r-- | bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RangeDifferenceComparator.java | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RangeDifferenceComparator.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RangeDifferenceComparator.java index db893fc7d..467a4d616 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RangeDifferenceComparator.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/RangeDifferenceComparator.java @@ -1,78 +1,78 @@ -/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
+/******************************************************************************* + * Copyright (c) 2011 IBM Corporation and others. * - * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
+ * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * - * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ui.synchronize;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.compare.internal.DocLineComparator;
-import org.eclipse.compare.internal.Utilities;
-import org.eclipse.compare.rangedifferencer.RangeDifference;
-import org.eclipse.compare.rangedifferencer.RangeDifferencer;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Region;
-import org.eclipse.team.internal.core.subscribers.AbstractContentComparator;
-
-/**
- * Compare differences between local and remote contents.
- * <p>
- * Subclass to specify a criterion for comparison.
- */
-public abstract class RangeDifferenceComparator extends
- AbstractContentComparator {
-
- public RangeDifferenceComparator(boolean ignoreWhitespace) {
- super(ignoreWhitespace);
- }
-
- /**
- * Return <code>true</code> if the provided differences match a criterion.
- *
- * @param ranges the differences found
- * @param lDoc the left document
- * @param rDoc the right document
- * @return <code>true</code> if all differences match a criterion
- */
- abstract protected boolean compareRangeDifferences(RangeDifference[] ranges,
- IDocument lDoc, IDocument rDoc);
-
- @Override
- protected boolean contentsEqual(IProgressMonitor monitor, InputStream is1,
- InputStream is2, boolean ignoreWhitespace) {
- try {
- final String left = Utilities.readString(is1, ResourcesPlugin.getEncoding());
- final String right = Utilities.readString(is2, ResourcesPlugin.getEncoding());
- return compareStrings(left, right, monitor);
- } catch (IOException e) {
- // ignore
- }
- return false;
- }
-
- private boolean compareStrings(String left, String right,
- IProgressMonitor monitor) {
- IDocument lDoc = new Document(left);
- IDocument rDoc = new Document(right);
- DocLineComparator sleft = new DocLineComparator(lDoc, new Region(0,
- lDoc.getLength()), shouldIgnoreWhitespace());
- DocLineComparator sright = new DocLineComparator(rDoc, new Region(0,
- rDoc.getLength()), shouldIgnoreWhitespace());
- final DocLineComparator sl = sleft, sr = sright;
- RangeDifference[] ranges = RangeDifferencer.findRanges(monitor, sl, sr);
- return compareRangeDifferences(ranges, lDoc, rDoc);
- }
-}
+ * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.team.internal.ui.synchronize; + +import java.io.IOException; +import java.io.InputStream; + +import org.eclipse.compare.internal.DocLineComparator; +import org.eclipse.compare.internal.Utilities; +import org.eclipse.compare.rangedifferencer.RangeDifference; +import org.eclipse.compare.rangedifferencer.RangeDifferencer; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.text.Document; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.Region; +import org.eclipse.team.internal.core.subscribers.AbstractContentComparator; + +/** + * Compare differences between local and remote contents. + * <p> + * Subclass to specify a criterion for comparison. + */ +public abstract class RangeDifferenceComparator extends + AbstractContentComparator { + + public RangeDifferenceComparator(boolean ignoreWhitespace) { + super(ignoreWhitespace); + } + + /** + * Return <code>true</code> if the provided differences match a criterion. + * + * @param ranges the differences found + * @param lDoc the left document + * @param rDoc the right document + * @return <code>true</code> if all differences match a criterion + */ + abstract protected boolean compareRangeDifferences(RangeDifference[] ranges, + IDocument lDoc, IDocument rDoc); + + @Override + protected boolean contentsEqual(IProgressMonitor monitor, InputStream is1, + InputStream is2, boolean ignoreWhitespace) { + try { + final String left = Utilities.readString(is1, ResourcesPlugin.getEncoding()); + final String right = Utilities.readString(is2, ResourcesPlugin.getEncoding()); + return compareStrings(left, right, monitor); + } catch (IOException e) { + // ignore + } + return false; + } + + private boolean compareStrings(String left, String right, + IProgressMonitor monitor) { + IDocument lDoc = new Document(left); + IDocument rDoc = new Document(right); + DocLineComparator sleft = new DocLineComparator(lDoc, new Region(0, + lDoc.getLength()), shouldIgnoreWhitespace()); + DocLineComparator sright = new DocLineComparator(rDoc, new Region(0, + rDoc.getLength()), shouldIgnoreWhitespace()); + final DocLineComparator sl = sleft, sr = sright; + RangeDifference[] ranges = RangeDifferencer.findRanges(monitor, sl, sr); + return compareRangeDifferences(ranges, lDoc, rDoc); + } +} |