Skip to content
Commits on Source (4)
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.compare.core
Bundle-Version: 3.6.100.qualifier
Bundle-Version: 3.6.200.qualifier
Bundle-Activator: org.eclipse.compare.internal.core.ComparePlugin
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
......@@ -10,8 +10,9 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.compare.internal.core;x-friends:="org.eclipse.compare",
org.eclipse.compare.internal.core.patch;x-friends:="org.eclipse.compare",
org.eclipse.compare.patch,
org.eclipse.compare.patch; core="split"; mandatory:="core",
org.eclipse.compare.rangedifferencer
Import-Package: com.ibm.icu.text;version="3.6.1",
com.ibm.icu.util;version="3.6.1"
Bundle-Localization: plugin
Automatic-Module-Name: org.eclipse.compare.core
# To force a version qualifier update add the bug here
Bug 466408: Split 'org.eclipse.compare.patch' packages do not have identical certificate
Pick up new signing certificate (same as bug 466408)
......@@ -14,11 +14,11 @@
<parent>
<artifactId>eclipse.platform.team</artifactId>
<groupId>eclipse.platform.team</groupId>
<version>4.7.3-SNAPSHOT</version>
<version>4.8.0-SNAPSHOT</version>
<relativePath>../../</relativePath>
</parent>
<groupId>org.eclipse.compare</groupId>
<artifactId>org.eclipse.compare.core</artifactId>
<version>3.6.100-SNAPSHOT</version>
<version>3.6.200-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
......@@ -88,7 +88,7 @@ public class Hunk implements IHunk {
* </ul>
*/
public String getContent() {
StringBuffer sb= new StringBuffer();
StringBuilder sb= new StringBuilder();
for (int i= 0; i < this.fLines.length; i++) {
String line= this.fLines[i];
sb.append(line.substring(0, LineReader.length(line)));
......@@ -102,7 +102,7 @@ public class Hunk implements IHunk {
* It is in the form old_start,old_length -> new_start,new_length.
*/
String getDescription() {
StringBuffer sb= new StringBuffer();
StringBuilder sb= new StringBuilder();
sb.append(Integer.toString(this.fOldStart));
sb.append(',');
sb.append(Integer.toString(this.fOldLength));
......@@ -114,7 +114,7 @@ public class Hunk implements IHunk {
}
public String getRejectedDescription() {
StringBuffer sb= new StringBuffer();
StringBuilder sb= new StringBuilder();
sb.append("@@ -"); //$NON-NLS-1$
sb.append(Integer.toString(this.fOldStart));
sb.append(',');
......@@ -448,7 +448,7 @@ public class Hunk implements IHunk {
* Whitespace is defined by <code>Character.isWhitespace(...)</code>.
*/
private String stripWhiteSpace(String s) {
StringBuffer sb= new StringBuffer();
StringBuilder sb= new StringBuilder();
int l= s.length();
for (int i= 0; i < l; i++) {
char c= s.charAt(i);
......@@ -459,7 +459,7 @@ public class Hunk implements IHunk {
}
public String getContents(boolean isAfterState, boolean reverse) {
StringBuffer result= new StringBuffer();
StringBuilder result= new StringBuilder();
for (int i= 0; i<this.fLines.length; i++) {
String line= this.fLines[i];
String rest= line.substring(1);
......
......@@ -66,7 +66,7 @@ public class LineReader {
* Concatenates all strings found in the given List.
*/
public static String createString(boolean preserveLineDelimeters, List<String> lines) {
StringBuffer sb= new StringBuffer();
StringBuilder sb= new StringBuilder();
Iterator<String> iter= lines.iterator();
if (preserveLineDelimeters) {
while (iter.hasNext())
......@@ -111,7 +111,7 @@ public class LineReader {
private boolean fSawEOF= false;
private BufferedReader fReader;
private boolean fIgnoreSingleCR= false;
private StringBuffer fBuffer= new StringBuffer();
private StringBuilder fBuffer= new StringBuilder();
public LineReader(BufferedReader reader) {
this.fReader= reader;
......
......@@ -288,7 +288,7 @@ public class RangeDifference {
@Override
public String toString() {
StringBuffer buf = new StringBuffer("RangeDifference {"); //$NON-NLS-1$
StringBuilder buf = new StringBuilder("RangeDifference {"); //$NON-NLS-1$
switch (this.kind) {
case NOCHANGE:
buf.append("NOCHANGE"); //$NON-NLS-1$
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.compare.win32;singleton:=true
Bundle-Version: 1.2.0.qualifier
Bundle-Version: 1.2.100.qualifier
Bundle-Vendor: %providerName
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Eclipse-PlatformFilter: (osgi.os=win32)
......@@ -17,3 +17,4 @@ Export-Package: org.eclipse.compare.internal.win32;x-internal:=true
Bundle-Activator: org.eclipse.compare.internal.win32.Activator
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Automatic-Module-Name: org.eclipse.compare.win32
......@@ -14,12 +14,12 @@
<parent>
<artifactId>eclipse.platform.team</artifactId>
<groupId>eclipse.platform.team</groupId>
<version>4.7.3-SNAPSHOT</version>
<version>4.8.0-SNAPSHOT</version>
<relativePath>../../</relativePath>
</parent>
<groupId>org.eclipse.compare</groupId>
<artifactId>org.eclipse.compare.win32</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.2.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.compare; singleton:=true
Bundle-Version: 3.7.101.qualifier
Bundle-Version: 3.7.200.qualifier
Bundle-Activator: org.eclipse.compare.internal.CompareUIPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
......@@ -28,3 +28,4 @@ Bundle-ActivationPolicy: lazy
Import-Package: com.ibm.icu.util,
com.ibm.icu.text
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Automatic-Module-Name: org.eclipse.compare
......@@ -727,9 +727,9 @@ public class CompareConfiguration {
*/
public void setChangeIgnored(int kind, boolean ignored) {
if (ignored) {
fIgnoredChanges.add(new Integer(kind));
fIgnoredChanges.add(Integer.valueOf(kind));
} else {
fIgnoredChanges.remove(new Integer(kind));
fIgnoredChanges.remove(Integer.valueOf(kind));
}
}
......@@ -747,7 +747,7 @@ public class CompareConfiguration {
* @since 3.5
*/
public boolean isChangeIgnored(int kind) {
return fIgnoredChanges.contains(new Integer(kind));
return fIgnoredChanges.contains(Integer.valueOf(kind));
}
}
/*******************************************************************************
* Copyright (c) 2000, 2016 IBM Corporation and others.
* Copyright (c) 2000, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -55,22 +55,10 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.text.IFindReplaceTarget;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IOpenListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.OpenEvent;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.*;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
......@@ -252,9 +240,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
fCompareConfiguration= configuration;
Assert.isNotNull(configuration);
fDirtyStateListener= new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
fDirtyStateListener= e -> {
String propertyName= e.getProperty();
if (CompareEditorInput.DIRTY_STATE.equals(propertyName)) {
boolean changed= false;
......@@ -263,7 +249,6 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
changed= ((Boolean) newValue).booleanValue();
setDirty(e.getSource(), changed);
}
}
};
IPreferenceStore ps= configuration.getPreferenceStore();
......@@ -292,12 +277,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
if (adapter == IShowInSource.class) {
final IFile file = Adapters.adapt(this, IFile.class);
if (file != null)
return (T) new IShowInSource() {
@Override
public ShowInContext getShowInContext() {
return new ShowInContext(new FileEditorInput(file), StructuredSelection.EMPTY);
}
};
return (T) (IShowInSource) () -> new ShowInContext(new FileEditorInput(file), StructuredSelection.EMPTY);
}
if (adapter == OutlineViewerCreator.class) {
synchronized (this) {
......@@ -552,9 +532,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
feedInput();
parent.requestLayout();
fComposite.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
fComposite.addDisposeListener(e -> {
/*
* When the UI associated with this compare editor input is
* disposed each composite being part of the UI releases its
......@@ -573,13 +551,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
break;
}
}
control.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent ev) {
handleDispose();
}
});
}
control.addDisposeListener(ev -> handleDispose());
});
if (fHelpContextId != null)
PlatformUI.getWorkbench().getHelpSystem().setHelp(fComposite, fHelpContextId);
......@@ -654,12 +626,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
// setup the wiring for top left pane
fStructureInputPane.addOpenListener(
new IOpenListener() {
@Override
public void open(OpenEvent oe) {
feed1(oe.getSelection());
}
}
oe -> feed1(oe.getSelection())
);
fStructureInputPane.addSelectionChangedListener(
new ISelectionChangedListener() {
......@@ -674,30 +641,15 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
}
);
fStructureInputPane.addDoubleClickListener(
new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
feedDefault1(event.getSelection());
}
}
event -> feedDefault1(event.getSelection())
);
fStructurePane1.addSelectionChangedListener(
new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent e) {
feed2(e.getSelection());
}
}
e -> feed2(e.getSelection())
);
fStructurePane2.addSelectionChangedListener(
new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent e) {
feed3(e.getSelection());
}
}
e -> feed3(e.getSelection())
);
return h;
......@@ -777,59 +729,50 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
private void feed1(final ISelection selection) {
BusyIndicator.showWhile(fComposite.getDisplay(),
new Runnable() {
@Override
public void run() {
() -> {
if (selection == null || selection.isEmpty()) {
Object input= fStructureInputPane.getInput();
if (input != null)
internalSetContentPaneInput(input);
Object input1= fStructureInputPane.getInput();
if (input1 != null)
internalSetContentPaneInput(input1);
if (!Utilities.okToUse(fStructurePane1) || !Utilities.okToUse(fStructurePane2))
return;
fStructurePane2.setInput(null); // clear downstream pane
fStructurePane1.setInput(null);
} else {
Object input= getElement(selection);
internalSetContentPaneInput(input);
Object input2= getElement(selection);
internalSetContentPaneInput(input2);
if (!Utilities.okToUse(fStructurePane1) || !Utilities.okToUse(fStructurePane2))
return;
if (structureCompareOnSingleClick() || hasUnusableContentViewer())
fStructurePane1.setInput(input);
fStructurePane1.setInput(input2);
fStructurePane2.setInput(null); // clear downstream pane
if (fStructurePane1.getInput() != input)
if (fStructurePane1.getInput() != input2)
fStructurePane1.setInput(null);
}
}
}
);
}
private void feedDefault1(final ISelection selection) {
BusyIndicator.showWhile(fComposite.getDisplay(),
new Runnable() {
@Override
public void run() {
() -> {
if (!selection.isEmpty())
fStructurePane1.setInput(getElement(selection));
}
}
);
}
private void feed2(final ISelection selection) {
BusyIndicator.showWhile(fComposite.getDisplay(),
new Runnable() {
@Override
public void run() {
() -> {
if (selection.isEmpty()) {
Object input= fStructurePane1.getInput();
internalSetContentPaneInput(input);
Object input1= fStructurePane1.getInput();
internalSetContentPaneInput(input1);
fStructurePane2.setInput(null);
} else {
Object input= getElement(selection);
internalSetContentPaneInput(input);
fStructurePane2.setInput(input);
}
Object input2= getElement(selection);
internalSetContentPaneInput(input2);
fStructurePane2.setInput(input2);
}
}
);
......@@ -837,15 +780,12 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
private void feed3(final ISelection selection) {
BusyIndicator.showWhile(fComposite.getDisplay(),
new Runnable() {
@Override
public void run() {
() -> {
if (selection.isEmpty())
internalSetContentPaneInput(fStructurePane2.getInput());
else
internalSetContentPaneInput(getElement(selection));
}
}
);
}
......@@ -974,12 +914,7 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
Control c= newViewer.getControl();
c.addDisposeListener(
new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
dsp.removePropertyChangeListener(fDirtyStateListener);
}
}
e -> dsp.removePropertyChangeListener(fDirtyStateListener)
);
}
......@@ -1514,16 +1449,12 @@ public abstract class CompareEditorInput extends PlatformObject implements IEdit
private boolean saveChanges() {
try {
PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
PlatformUI.getWorkbench().getProgressService().run(true, true, monitor -> {
try {
saveChanges(monitor);
} catch (CoreException e) {
throw new InvocationTargetException(e);
}
}
});
return true;
} catch (InterruptedException x) {
......
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* Copyright (c) 2000, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -28,8 +28,6 @@ import org.eclipse.swt.accessibility.AccessibleAdapter;
import org.eclipse.swt.accessibility.AccessibleEvent;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.custom.ViewForm;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.graphics.Image;
......@@ -97,9 +95,7 @@ public class CompareViewerPane extends ViewForm implements ISelectionProvider,
addMouseListener(ml);
getTopLeft().addMouseListener(ml);
addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
addDisposeListener(e -> {
if (fToolBarManager != null) {
fToolBarManager.removeAll();
fToolBarManager.dispose();
......@@ -107,7 +103,6 @@ public class CompareViewerPane extends ViewForm implements ISelectionProvider,
fInput= null;
fSelectionListeners= null;
setImage(null);
}
});
}
......
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* Copyright (c) 2000, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -20,8 +20,6 @@ import org.eclipse.core.runtime.Adapters;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
......@@ -89,9 +87,7 @@ public abstract class CompareViewerSwitchingPane extends CompareViewerPane {
setViewer(new NullViewer(this));
addDisposeListener(
new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
e -> {
if (fViewer != null)
fViewer.removeSelectionChangedListener(CompareViewerSwitchingPane.this);
if (fViewer instanceof StructuredViewer) {
......@@ -101,7 +97,6 @@ public abstract class CompareViewerSwitchingPane extends CompareViewerPane {
}
fViewer= null;
}
}
);
}
......
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* Copyright (c) 2000, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -10,23 +10,11 @@
*******************************************************************************/
package org.eclipse.compare;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;
import com.ibm.icu.text.DateFormat;
import com.ibm.icu.text.MessageFormat;
import com.ibm.icu.util.Calendar;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
......@@ -49,11 +37,9 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.*;
import java.util.*;
import org.eclipse.compare.internal.CompareContainer;
import org.eclipse.compare.internal.CompareUIPlugin;
......@@ -175,7 +161,7 @@ public class EditionSelectionDialog extends ResizableDialog {
// Configuration options
private CompareConfiguration fCompareConfiguration;
private ArrayList fArrayList= new ArrayList();
private ArrayList<Object> fArrayList= new ArrayList<>();
/** use a side-by-side compare viewer */
private boolean fCompare= true;
/** show target on right hand side */
......@@ -195,11 +181,11 @@ public class EditionSelectionDialog extends ResizableDialog {
* Maps from members to their corresponding editions.
* Has only a single entry if dialog is used in "Replace" (and not "Add") mode.
*/
private HashMap fMemberEditions;
private HashMap<ITypedElement, List<Pair>> fMemberEditions;
/**
* Maps from members to their corresponding selected edition.
*/
private HashMap fMemberSelection;
private HashMap<List, ITypedElement> fMemberSelection;
/** The editions of the current selected member */
private List fCurrentEditions;
private Thread fThread;
......@@ -466,7 +452,7 @@ public class EditionSelectionDialog extends ResizableDialog {
return null; // error
// extract all elements of container
final HashSet current= new HashSet();
final HashSet<Object> current= new HashSet<>();
IStructureComparator sco= structureCreator.locate(container, target);
if (sco != null) {
Object[] children= sco.getChildren();
......@@ -594,18 +580,18 @@ public class EditionSelectionDialog extends ResizableDialog {
* @since 2.1
*/
public ITypedElement[] getSelection() {
ArrayList result= new ArrayList();
ArrayList<ITypedElement> result= new ArrayList<>();
if (fMemberSelection != null) {
Iterator iter= fArrayList.iterator();
Iterator<Object> iter= fArrayList.iterator();
while (iter.hasNext()) {
Object edition= iter.next();
Object item= fMemberSelection.get(edition);
if (item != null)
result.add(item);
result.add((ITypedElement) item);
}
} else if (fSelectedItem != null)
result.add(fSelectedItem);
return (ITypedElement[]) result.toArray(new ITypedElement[result.size()]);
return result.toArray(new ITypedElement[result.size()]);
}
/**
......@@ -744,9 +730,6 @@ public class EditionSelectionDialog extends ResizableDialog {
return null;
}
/* (non Javadoc)
* Creates SWT control tree.
*/
@Override
protected synchronized Control createDialogArea(Composite parent2) {
......@@ -759,9 +742,7 @@ public class EditionSelectionDialog extends ResizableDialog {
| GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL));
vsplitter.addDisposeListener(
new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
e -> {
if (fCompareConfiguration != null) {
fCompareConfiguration.dispose();
fCompareConfiguration= null;
......@@ -775,7 +756,6 @@ public class EditionSelectionDialog extends ResizableDialog {
fTimeImage= null;
}
}
}
);
if (fAddMode) {
......@@ -831,12 +811,7 @@ public class EditionSelectionDialog extends ResizableDialog {
}
};
fStructuredComparePane.addSelectionChangedListener(
new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent e) {
feedInput2(e.getSelection());
}
}
e -> feedInput2(e.getSelection())
);
} else {
// only a single pane showing the editions
......@@ -886,9 +861,6 @@ public class EditionSelectionDialog extends ResizableDialog {
return parent;
}
/* (non-Javadoc)
* Method declared on Dialog.
*/
@Override
protected void createButtonsForButtonBar(Composite parent) {
String buttonLabel= Utilities.getString(fBundle, "buttonLabel", IDialogConstants.OK_LABEL); //$NON-NLS-1$
......@@ -924,29 +896,19 @@ public class EditionSelectionDialog extends ResizableDialog {
if (fEditionTree != null && !fEditionTree.isDisposed()) {
Display display= fEditionTree.getDisplay();
display.asyncExec(
new Runnable() {
@Override
public void run() {
addMemberEdition(pair);
}
}
() -> addMemberEdition(pair)
);
}
}
private static void internalSort(IModificationDate[] keys) {
Arrays.sort(keys, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
IModificationDate d1= (IModificationDate) o1;
IModificationDate d2= (IModificationDate) o2;
Arrays.sort(keys, (d1, d2) -> {
long d= d2.getModificationDate() - d1.getModificationDate();
if (d < 0)
return -1;
if (d > 0)
return 1;
return 0;
}
});
}
......@@ -980,14 +942,14 @@ public class EditionSelectionDialog extends ResizableDialog {
}
if (fMemberEditions == null)
fMemberEditions= new HashMap();
fMemberEditions= new HashMap<>();
if (fMultiSelect && fMemberSelection == null)
fMemberSelection= new HashMap();
fMemberSelection= new HashMap<>();
ITypedElement item= pair.getItem();
List editions= (List) fMemberEditions.get(item);
List<Pair> editions= fMemberEditions.get(item);
if (editions == null) {
editions= new ArrayList();
editions= new ArrayList<>();
fMemberEditions.put(item, editions);
if (fMemberTable != null && !fMemberTable.isDisposed()) {
ITypedElement te= item;
......@@ -1014,7 +976,7 @@ public class EditionSelectionDialog extends ResizableDialog {
Pair last= fTargetPair;
int size= editions.size();
if (size > 0)
last= (Pair) editions.get(size-1);
last= editions.get(size-1);
if (last != null && last.equals(pair))
return; // don't add since the new one is equal to old
}
......@@ -1124,7 +1086,8 @@ public class EditionSelectionDialog extends ResizableDialog {
private void handleMemberSelect(Widget w) {
Object data= w.getData();
if (data instanceof List) {
List editions= (List) data;
@SuppressWarnings("unchecked")
List<Object> editions= (List<Object>) data;
if (editions != fCurrentEditions) {
fCurrentEditions= editions;
fEditionTree.removeAll();
......@@ -1133,7 +1096,7 @@ public class EditionSelectionDialog extends ResizableDialog {
String title= MessageFormat.format(pattern, new Object[] { ((Item)w).getText() });
fEditionPane.setText(title);
Iterator iter= editions.iterator();
Iterator<Object> iter= editions.iterator();
while (iter.hasNext()) {
Object item= iter.next();
if (item instanceof Pair)
......
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* Copyright (c) 2000, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -34,7 +34,7 @@ public class ResourceNode extends BufferedContent
IEditableContent, IModificationDate, IResourceProvider, IEditableContentExtension {
private IResource fResource;
private ArrayList fChildren;
private ArrayList<Object> fChildren;
/**
......@@ -57,9 +57,6 @@ public class ResourceNode extends BufferedContent
return fResource;
}
/* (non Javadoc)
* see IStreamContentAccessor.getContents
*/
@Override
public InputStream getContents() throws CoreException {
if (fResource instanceof IStorage)
......@@ -67,17 +64,11 @@ public class ResourceNode extends BufferedContent
return null;
}
/* (non Javadoc)
* see IModificationDate.getModificationDate
*/
@Override
public long getModificationDate() {
return fResource.getLocalTimeStamp();
}
/* (non Javadoc)
* see ITypedElement.getName
*/
@Override
public String getName() {
if (fResource != null)
......@@ -85,9 +76,6 @@ public class ResourceNode extends BufferedContent
return null;
}
/* (non Javadoc)
* see ITypedElement.getType
*/
@Override
public String getType() {
if (fResource instanceof IContainer)
......@@ -100,9 +88,6 @@ public class ResourceNode extends BufferedContent
return ITypedElement.UNKNOWN_TYPE;
}
/* (non Javadoc)
* see ITypedElement.getImage
*/
@Override
public Image getImage() {
return CompareUI.getImage(fResource);
......@@ -130,13 +115,10 @@ public class ResourceNode extends BufferedContent
return getName().hashCode();
}
/* (non Javadoc)
* see IStructureComparator.getChildren
*/
@Override
public Object[] getChildren() {
if (fChildren == null) {
fChildren= new ArrayList();
fChildren= new ArrayList<>();
if (fResource instanceof IContainer) {
try {
IResource members[]= ((IContainer)fResource).members();
......@@ -194,33 +176,21 @@ public class ResourceNode extends BufferedContent
return null;
}
/* (non Javadoc)
* see IEditableContent.isEditable
*/
@Override
public boolean isEditable() {
return true;
}
/* (non Javadoc)
* see IEditableContent.replace
*/
@Override
public ITypedElement replace(ITypedElement child, ITypedElement other) {
return child;
}
/* (non-Javadoc)
* @see org.eclipse.compare.IEncodedStreamContentAccessor#getCharset()
*/
@Override
public String getCharset() {
return Utilities.getCharset(fResource);
}
/* (non-Javadoc)
* @see org.eclipse.compare.IEditableContentExtension#isReadOnly()
*/
@Override
public boolean isReadOnly() {
if (fResource.getType() == IResource.FILE) {
......@@ -232,9 +202,6 @@ public class ResourceNode extends BufferedContent
return false;
}
/* (non-Javadoc)
* @see org.eclipse.compare.IEditableContentExtension#validateEdit(org.eclipse.swt.widgets.Shell)
*/
@Override
public IStatus validateEdit(Shell shell) {
if (isReadOnly())
......
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* Copyright (c) 2000, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -10,9 +10,7 @@
*******************************************************************************/
package org.eclipse.compare;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.zip.ZipEntry;
......@@ -20,10 +18,7 @@ import java.util.zip.ZipInputStream;
import org.eclipse.compare.internal.CompareUIPlugin;
import org.eclipse.compare.internal.Utilities;
import org.eclipse.compare.structuremergeviewer.Differencer;
import org.eclipse.compare.structuremergeviewer.IDiffContainer;
import org.eclipse.compare.structuremergeviewer.IStructureComparator;
import org.eclipse.compare.structuremergeviewer.IStructureCreator;
import org.eclipse.compare.structuremergeviewer.*;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.swt.graphics.Image;
......@@ -79,7 +74,7 @@ public class ZipFileStructureCreator implements IStructureCreator {
static class ZipFolder extends ZipResource {
private HashMap fChildren= new HashMap(10);
private HashMap<String, ZipResource> fChildren= new HashMap<>(10);
ZipFolder(String name) {
super(name);
......@@ -93,7 +88,7 @@ public class ZipFileStructureCreator implements IStructureCreator {
@Override
public Object[] getChildren() {
Object[] children= new Object[fChildren.size()];
Iterator iter= fChildren.values().iterator();
Iterator<ZipResource> iter= fChildren.values().iterator();
for (int i= 0; iter.hasNext(); i++)
children[i]= iter.next();
return children;
......@@ -269,8 +264,8 @@ public class ZipFileStructureCreator implements IStructureCreator {
}
if (root.fChildren.size() == 1) {
Iterator iter= root.fChildren.values().iterator();
return (IStructureComparator) iter.next();
Iterator<ZipResource> iter= root.fChildren.values().iterator();
return iter.next();
}
return root;
}
......
/*******************************************************************************
* Copyright (c) 2000, 2016 IBM Corporation and others.
* Copyright (c) 2000, 2018 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -57,20 +57,12 @@ import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ContentViewer;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
import org.eclipse.jface.viewers.*;
import org.eclipse.jface.window.Window;
import org.eclipse.osgi.util.TextProcessor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
......@@ -236,12 +228,7 @@ public abstract class ContentMergeViewer extends ContentViewer
fControl.addMouseListener(this);
fControl.addMouseMoveListener(this);
fControl.addDisposeListener(
new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
fControl= null;
}
}
e -> fControl= null
);
}
......@@ -352,21 +339,18 @@ public abstract class ContentMergeViewer extends ContentViewer
private Image fRightArrow;
private Image fLeftArrow;
private Image fBothArrow;
Cursor fNormalCursor;
private Cursor fNormalCursor;
private Cursor fHSashCursor;
private Cursor fVSashCursor;
private Cursor fHVSashCursor;
private ILabelProviderListener labelChangeListener = new ILabelProviderListener() {
@Override
public void labelProviderChanged(LabelProviderChangedEvent event) {
private ILabelProviderListener labelChangeListener = event -> {
Object[] elements = event.getElements();
for (int i = 0; i < elements.length; i++) {
Object object = elements[i];
if (object == getInput())
updateHeader();
}
}
};
//---- end
......@@ -561,12 +545,7 @@ public abstract class ContentMergeViewer extends ContentViewer
*/
@Override
public ISelection getSelection() {
return new ISelection() {
@Override
public boolean isEmpty() {
return true;
}
};
return () -> true;
}
/**
......@@ -612,27 +591,27 @@ public abstract class ContentMergeViewer extends ContentViewer
case VERTICAL:
if (fAncestorVisible) {
if (fVSashCursor == null)
fVSashCursor= new Cursor(c.getDisplay(), SWT.CURSOR_SIZENS);
fVSashCursor=c.getDisplay().getSystemCursor(SWT.CURSOR_SIZENS);
cursor= fVSashCursor;
} else {
if (fNormalCursor == null)
fNormalCursor= new Cursor(c.getDisplay(), SWT.CURSOR_ARROW);
fNormalCursor= c.getDisplay().getSystemCursor(SWT.CURSOR_ARROW);
cursor= fNormalCursor;
}
break;
case HORIZONTAL:
if (fHSashCursor == null)
fHSashCursor= new Cursor(c.getDisplay(), SWT.CURSOR_SIZEWE);
fHSashCursor= c.getDisplay().getSystemCursor(SWT.CURSOR_SIZEWE);
cursor= fHSashCursor;
break;
case VERTICAL + HORIZONTAL:
if (fAncestorVisible) {
if (fHVSashCursor == null)
fHVSashCursor= new Cursor(c.getDisplay(), SWT.CURSOR_SIZEALL);
fHVSashCursor= c.getDisplay().getSystemCursor(SWT.CURSOR_SIZEALL);
cursor= fHVSashCursor;
} else {
if (fHSashCursor == null)
fHSashCursor= new Cursor(c.getDisplay(), SWT.CURSOR_SIZEWE);
fHSashCursor= c.getDisplay().getSystemCursor(SWT.CURSOR_SIZEWE);
cursor= fHSashCursor;
}
break;
......@@ -1075,23 +1054,6 @@ public abstract class ContentMergeViewer extends ContentViewer
fBothArrow= null;
}
if (fNormalCursor != null) {
fNormalCursor.dispose();
fNormalCursor= null;
}
if (fHSashCursor != null) {
fHSashCursor.dispose();
fHSashCursor= null;
}
if (fVSashCursor != null) {
fVSashCursor.dispose();
fVSashCursor= null;
}
if (fHVSashCursor != null) {
fHVSashCursor.dispose();
fHVSashCursor= null;
}
super.handleDispose(event);
}
......
/*******************************************************************************
* Copyright (c) 2000, 2016 IBM Corporation and others.
* Copyright (c) 2000, 2018 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -97,29 +97,7 @@ import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.BadPositionCategoryException;
import org.eclipse.jface.text.CursorLinePainter;
import org.eclipse.jface.text.DefaultPositionUpdater;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.DocumentEvent;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IDocumentExtension3;
import org.eclipse.jface.text.IDocumentListener;
import org.eclipse.jface.text.IDocumentPartitioner;
import org.eclipse.jface.text.IFindReplaceTarget;
import org.eclipse.jface.text.IFindReplaceTargetExtension;
import org.eclipse.jface.text.IFindReplaceTargetExtension3;
import org.eclipse.jface.text.IPositionUpdater;
import org.eclipse.jface.text.IRegion;
import org.eclipse.jface.text.IRewriteTarget;
import org.eclipse.jface.text.ITextPresentationListener;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.IViewportListener;
import org.eclipse.jface.text.Position;
import org.eclipse.jface.text.Region;
import org.eclipse.jface.text.TextPresentation;
import org.eclipse.jface.text.TextViewer;
import org.eclipse.jface.text.*;
import org.eclipse.jface.text.source.CompositeRuler;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.SourceViewer;
......@@ -138,25 +116,9 @@ import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.accessibility.AccessibleAdapter;
import org.eclipse.swt.accessibility.AccessibleEvent;
import org.eclipse.swt.custom.LineBackgroundEvent;
import org.eclipse.swt.custom.LineBackgroundListener;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.graphics.Font;
......@@ -165,16 +127,7 @@ import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.ScrollBar;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TypedListener;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IKeyBindingService;
......@@ -410,7 +363,6 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
// SWT resources to be disposed
private Map<RGB, Color> fColors;
private Cursor fBirdsEyeCursor;
// points for center curves
private double[] fBasicCenterCurve;
......@@ -465,12 +417,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
return null;
final Viewer v = CompareUI.findStructureViewer(oldViewer, input, parent, configuration);
if (v != null) {
v.getControl().addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
v.removeSelectionChangedListener(InternalOutlineViewerCreator.this);
}
});
v.getControl().addDisposeListener(e -> v.removeSelectionChangedListener(InternalOutlineViewerCreator.this));
v.addSelectionChangedListener(this);
}
......@@ -1493,12 +1440,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
public TextMergeViewer(Composite parent, int style, CompareConfiguration configuration) {
super(style, ResourceBundle.getBundle(BUNDLE_NAME), configuration);
operationHistoryListener = new IOperationHistoryListener() {
@Override
public void historyNotification(OperationHistoryEvent event) {
TextMergeViewer.this.historyNotification(event);
}
};
operationHistoryListener = event -> TextMergeViewer.this.historyNotification(event);
OperationHistoryFactory.getOperationHistory()
.addOperationHistoryListener(operationHistoryListener);
......@@ -1593,12 +1535,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
if (fIsMotif)
fMarginWidth= 0;
fPreferenceChangeListener= new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
TextMergeViewer.this.handlePropertyChangeEvent(event);
}
};
fPreferenceChangeListener= event -> TextMergeViewer.this.handlePropertyChangeEvent(event);
fPreferenceStore= createChainedPreferenceStore();
if (fPreferenceStore != null) {
......@@ -1640,8 +1577,6 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
};
fComposite.setData(INavigatable.NAVIGATOR_PROPERTY, nav);
fBirdsEyeCursor= new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
JFaceResources.getFontRegistry().addListener(fPreferenceChangeListener);
JFaceResources.getColorRegistry().addListener(fPreferenceChangeListener);
updateFont();
......@@ -1979,11 +1914,6 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
disconnect(fRightContributor);
disconnect(fAncestorContributor);
if (fBirdsEyeCursor != null) {
fBirdsEyeCursor.dispose();
fBirdsEyeCursor= null;
}
if (showWhitespaceAction != null)
showWhitespaceAction.dispose();
......@@ -2157,13 +2087,10 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
fVScrollBar.setIncrement(1);
fVScrollBar.setVisible(true);
fVScrollBar.addListener(SWT.Selection,
new Listener() {
@Override
public void handleEvent(Event e) {
e -> {
int vpos= ((ScrollBar) e.widget).getSelection();
synchronizedScrollVertical(vpos);
}
}
);
fBirdsEyeCanvas= new BufferedCanvas(composite, SWT.NONE) {
......@@ -2189,7 +2116,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
Cursor cursor= null;
Diff diff= handlemouseInBirdsEyeView(fBirdsEyeCanvas, e.y);
if (diff != null && diff.getKind() != RangeDifference.NOCHANGE)
cursor= fBirdsEyeCursor;
cursor= e.widget.getDisplay().getSystemCursor(SWT.CURSOR_HAND);
if (fLastCursor != cursor) {
fBirdsEyeCanvas.setCursor(cursor);
fLastCursor= cursor;
......@@ -2454,11 +2381,11 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
};
new HoverResizer(canvas, HORIZONTAL);
if (fNormalCursor == null) fNormalCursor= new Cursor(canvas.getDisplay(), SWT.CURSOR_ARROW);
Cursor normalCursor= canvas.getDisplay().getSystemCursor(SWT.CURSOR_ARROW);
int style= fIsMac ? SWT.FLAT : SWT.PUSH;
fLeftToRightButton= new Button(canvas, style);
fLeftToRightButton.setCursor(fNormalCursor);
fLeftToRightButton.setCursor(normalCursor);
fLeftToRightButton.setText(COPY_LEFT_TO_RIGHT_INDICATOR);
fLeftToRightButton.setToolTipText(
Utilities.getString(getResourceBundle(), "action.CopyDiffLeftToRight.tooltip")); //$NON-NLS-1$
......@@ -2474,7 +2401,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
);
fRightToLeftButton= new Button(canvas, style);
fRightToLeftButton.setCursor(fNormalCursor);
fRightToLeftButton.setCursor(normalCursor);
fRightToLeftButton.setText(COPY_RIGHT_TO_LEFT_INDICATOR);
fRightToLeftButton.setToolTipText(
Utilities.getString(getResourceBundle(), "action.CopyDiffRightToLeft.tooltip")); //$NON-NLS-1$
......@@ -2640,12 +2567,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
viewer.hideSaveAction();
te.addPaintListener(
new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
paint(e, viewer);
}
}
e -> paint(e, viewer)
);
te.addKeyListener(
new KeyAdapter() {
......@@ -2679,12 +2601,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
);
viewer.getSourceViewer().addViewportListener(
new IViewportListener() {
@Override
public void viewportChanged(int verticalPosition) {
syncViewport(viewer);
}
}
verticalPosition -> syncViewport(viewer)
);
Font font= JFaceResources.getFont(fSymbolicFontName);
......@@ -2735,7 +2652,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
}
private void contributeGotoLineAction(MergeSourceViewer viewer) {
IAction action = new GotoLineAction((ITextEditor) viewer.getAdapter(ITextEditor.class));
IAction action = new GotoLineAction(viewer.getAdapter(ITextEditor.class));
action.setActionDefinitionId(ITextEditorActionDefinitionIds.LINE_GOTO);
viewer.addAction(MergeSourceViewer.GOTO_LINE_ID, action);
}
......@@ -2747,9 +2664,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
private void contributeDiffBackgroundListener(final MergeSourceViewer viewer) {
viewer.getSourceViewer().getTextWidget().addLineBackgroundListener(
new LineBackgroundListener() {
@Override
public void lineGetBackground(LineBackgroundEvent event) {
event -> {
StyledText textWidget = viewer.getSourceViewer().getTextWidget();
if (textWidget != null) {
......@@ -2772,7 +2687,6 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
}
}
}
}
});
}
......@@ -2780,9 +2694,7 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
if (fHandlerService != null) {
if (part != null)
part.updateActions();
fHandlerService.updatePaneActionHandlers(new Runnable() {
@Override
public void run() {
fHandlerService.updatePaneActionHandlers(() -> {
for (int i= 0; i < GLOBAL_ACTIONS.length; i++) {
IAction action= null;
if (part != null) {
......@@ -2790,16 +2702,13 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
}
fHandlerService.setGlobalActionHandler(GLOBAL_ACTIONS[i], action);
}
}
});
}
}
private void connectContributedActions(final MergeSourceViewer viewer, final boolean connect) {
if (fHandlerService != null) {
fHandlerService.updatePaneActionHandlers(new Runnable() {
@Override
public void run() {
fHandlerService.updatePaneActionHandlers(() -> {
if (viewer != null) {
setActionsActivated(viewer.getSourceViewer(), connect);
if (isEditorBacked(viewer.getSourceViewer()) && connect) {
......@@ -2816,7 +2725,6 @@ public class TextMergeViewer extends ContentMergeViewer implements IAdaptable {
}
}
}
}
});
}
}
......
/*******************************************************************************
* Copyright (c) 2010, 2011 IBM Corporation and others.
* Copyright (c) 2010, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -11,8 +11,6 @@
package org.eclipse.compare.internal;
import org.eclipse.compare.CompareEditorInput;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.ui.IContributorResourceAdapter;
import org.eclipse.ui.IEditorInput;
......@@ -20,27 +18,25 @@ import org.eclipse.ui.IFileEditorInput;
public class AdapterFactory implements IAdapterFactory {
@SuppressWarnings("unchecked")
@Override
public Object getAdapter(final Object adaptableObject, Class adapterType) {
public <T> T getAdapter(final Object adaptableObject, Class<T> adapterType) {
if (IContributorResourceAdapter.class.equals(adapterType)
&& adaptableObject instanceof CompareEditorInput) {
return new IContributorResourceAdapter() {
@Override
public IResource getAdaptedResource(IAdaptable adaptable) {
return (T) (IContributorResourceAdapter) adaptable -> {
Object ei = ((CompareEditorInput) adaptableObject)
.getAdapter(IEditorInput.class);
if (ei instanceof IFileEditorInput) {
return ((IFileEditorInput) ei).getFile();
}
return null;
}
};
}
return null;
}
@Override
public Class[] getAdapterList() {
public Class<?>[] getAdapterList() {
return new Class[] { IContributorResourceAdapter.class };
}
}
\ No newline at end of file
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* Copyright (c) 2000, 2018 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
......@@ -126,7 +126,7 @@ public class AddFromHistoryAction extends BaseCompareAction {
IFileState fileState= selected[i].fFileState;
createContainers(file);
SubProgressMonitor subMonitor= new SubProgressMonitor(pm, 1);
SubMonitor subMonitor= SubMonitor.convert(pm, 1);
try {
file.create(fileState.getContents(), false, subMonitor);
} finally {
......