Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Vogel2020-07-14 08:25:22 +0000
committerFabrice Tiercelin2020-07-15 19:05:30 +0000
commit72fb4f4067a7501238b890f24ea476e3b0fdc2ea (patch)
tree8f77adc6fbd18e3fb6363647d9bb88c1b98918c5
parent97a8a94ee42c4b1f1f62bf0bdaaf22b73a7caa90 (diff)
downloadeclipse.jdt.ui-72fb4f4067a7501238b890f24ea476e3b0fdc2ea.tar.gz
eclipse.jdt.ui-72fb4f4067a7501238b890f24ea476e3b0fdc2ea.tar.xz
eclipse.jdt.ui-72fb4f4067a7501238b890f24ea476e3b0fdc2ea.zip
Bug 564416 - Use lambdas and method references cleanup on JDT UI code
For org.eclipse.jdt.ui - part 1 Change-Id: I476346215e2cb6480156671241cb3df74dff334a Signed-off-by: Fabrice Tiercelin <fabrice.tiercelin@yahoo.fr>
-rw-r--r--org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/corext/SourceRange.java8
-rw-r--r--org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeInfoViewer.java256
-rw-r--r--org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeSelectionComponent.java65
-rw-r--r--org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/refactoring/RefactoringSaveHelper.java22
4 files changed, 133 insertions, 218 deletions
diff --git a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/corext/SourceRange.java b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/corext/SourceRange.java
index 05ad5e9725..4c26ef4f11 100644
--- a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/corext/SourceRange.java
+++ b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/corext/SourceRange.java
@@ -83,13 +83,7 @@ public class SourceRange implements ISourceRange { // see https://bugs.eclipse.o
* @return the sorted ranges, which are identical to the parameter ranges
*/
public static ISourceRange[] reverseSortByOffset(ISourceRange[] ranges){
- Comparator<ISourceRange> comparator= new Comparator<ISourceRange>(){
- @Override
- public int compare(ISourceRange o1, ISourceRange o2){
- return o2.getOffset() - o1.getOffset();
- }
- };
- Arrays.sort(ranges, comparator);
+ Arrays.sort(ranges, Comparator.comparing(ISourceRange::getOffset).reversed());
return ranges;
}
diff --git a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeInfoViewer.java b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeInfoViewer.java
index 1e0e9ba81e..86b5986310 100644
--- a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeInfoViewer.java
+++ b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeInfoViewer.java
@@ -26,8 +26,6 @@ import java.util.Set;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MenuAdapter;
@@ -42,7 +40,6 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Table;
@@ -73,9 +70,9 @@ import org.eclipse.jdt.core.search.TypeNameMatch;
import org.eclipse.jdt.core.search.TypeNameMatchRequestor;
import org.eclipse.jdt.core.search.TypeNameRequestor;
+import org.eclipse.jdt.internal.core.manipulation.util.Strings;
import org.eclipse.jdt.internal.corext.util.Messages;
import org.eclipse.jdt.internal.corext.util.OpenTypeHistory;
-import org.eclipse.jdt.internal.core.manipulation.util.Strings;
import org.eclipse.jdt.internal.corext.util.TypeFilter;
import org.eclipse.jdt.internal.corext.util.TypeInfoFilter;
import org.eclipse.jdt.internal.corext.util.TypeInfoRequestorAdapter;
@@ -936,28 +933,22 @@ public class TypeInfoViewer {
}
}
});
- fTable.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- stop(true, true);
- fDashLineColor.dispose();
- fSeparatorIcon.dispose();
- fImageManager.dispose();
- if (fProgressUpdateJob != null) {
- fProgressUpdateJob.stop();
- fProgressUpdateJob= null;
- }
+ fTable.addDisposeListener(event -> {
+ stop(true, true);
+ fDashLineColor.dispose();
+ fSeparatorIcon.dispose();
+ fImageManager.dispose();
+ if (fProgressUpdateJob != null) {
+ fProgressUpdateJob.stop();
+ fProgressUpdateJob= null;
}
});
if (VIRTUAL) {
fHistoryMatches= EMTPY_TYPE_INFO_ARRAY;
fSearchMatches= EMTPY_TYPE_INFO_ARRAY;
- fTable.addListener(SWT.SetData, new Listener() {
- @Override
- public void handleEvent(Event event) {
- TableItem item= (TableItem)event.item;
- setData(item);
- }
+ fTable.addListener(SWT.SetData, event -> {
+ TableItem item= (TableItem)event.item;
+ setData(item);
});
}
@@ -1222,26 +1213,20 @@ public class TypeInfoViewer {
//-- Search result updating ----------------------------------------------------
private void clear(int ticket) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- fNextElement= 0;
- fDashLineIndex= -1;
- fLastSelection= null;
- fLastLabels= null;
- fExpectedItemCount= 0;
- }
+ syncExec(ticket, () -> {
+ fNextElement= 0;
+ fDashLineIndex= -1;
+ fLastSelection= null;
+ fLastLabels= null;
+ fExpectedItemCount= 0;
});
}
private void rememberResult(int ticket, final TypeNameMatch[] result) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- if (fLastCompletedResult == null) {
- fLastCompletedFilter= fTypeInfoFilter;
- fLastCompletedResult= result;
- }
+ syncExec(ticket, () -> {
+ if (fLastCompletedResult == null) {
+ fLastCompletedFilter= fTypeInfoFilter;
+ fLastCompletedResult= result;
}
});
}
@@ -1251,39 +1236,33 @@ public class TypeInfoViewer {
}
private void addAll(int ticket, final List elements, final List imageDescriptors, final List labels) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- int size= elements.size();
- for(int i= 0; i < size; i++) {
- addSingleElement(elements.get(i),
- (ImageDescriptor)imageDescriptors.get(i),
- (String)labels.get(i));
- }
+ syncExec(ticket, () -> {
+ int size= elements.size();
+ for(int i= 0; i < size; i++) {
+ addSingleElement(elements.get(i),
+ (ImageDescriptor)imageDescriptors.get(i),
+ (String)labels.get(i));
}
});
}
private void addDashLineAndUpdateLastHistoryEntry(int ticket, final TypeNameMatch next) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- if (fNextElement > 0) {
- TableItem item= fTable.getItem(fNextElement - 1);
- String label= item.getText();
- String newLabel= fLabelProvider.getText(null, (TypeNameMatch)item.getData(), next);
- if (newLabel.length() != label.length())
- item.setText(newLabel);
- if (fLastSelection != null && fLastSelection.length > 0) {
- TableItem last= fLastSelection[fLastSelection.length - 1];
- if (last == item) {
- fLastLabels[fLastLabels.length - 1]= newLabel;
- }
+ syncExec(ticket, () -> {
+ if (fNextElement > 0) {
+ TableItem item= fTable.getItem(fNextElement - 1);
+ String label= item.getText();
+ String newLabel= fLabelProvider.getText(null, (TypeNameMatch)item.getData(), next);
+ if (newLabel.length() != label.length())
+ item.setText(newLabel);
+ if (fLastSelection != null && fLastSelection.length > 0) {
+ TableItem last= fLastSelection[fLastSelection.length - 1];
+ if (last == item) {
+ fLastLabels[fLastLabels.length - 1]= newLabel;
}
}
- fDashLineIndex= fNextElement;
- addDashLine();
}
+ fDashLineIndex= fNextElement;
+ addDashLine();
});
}
@@ -1355,26 +1334,20 @@ public class TypeInfoViewer {
}
private void searchJobDone(int ticket) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- shortenTable();
- checkEmptyList();
- fSearchJob= null;
- }
+ syncExec(ticket, () -> {
+ shortenTable();
+ checkEmptyList();
+ fSearchJob= null;
});
}
private void searchJobCanceled(int ticket, final boolean removePendingItems) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- if (removePendingItems) {
- shortenTable();
- checkEmptyList();
- }
- fSearchJob= null;
+ syncExec(ticket, () -> {
+ if (removePendingItems) {
+ shortenTable();
+ checkEmptyList();
}
+ fSearchJob= null;
});
}
@@ -1386,47 +1359,41 @@ public class TypeInfoViewer {
//-- virtual table support -------------------------------------------------------
private void setHistoryResult(int ticket, final TypeNameMatch[] types) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- fExpectedItemCount= types.length;
- int lastHistoryLength= fHistoryMatches.length;
- fHistoryMatches= types;
- int length= fHistoryMatches.length + fSearchMatches.length;
- int dash= (fHistoryMatches.length > 0 && fSearchMatches.length > 0) ? 1 : 0;
- fTable.setItemCount(length + dash);
- if (length == 0) {
- // bug under windows.
- fTable.redraw();
- return;
- }
- int update= Math.max(lastHistoryLength, fHistoryMatches.length);
- if (update > 0) {
- fTable.clear(0, update + dash - 1);
- }
+ syncExec(ticket, () -> {
+ fExpectedItemCount= types.length;
+ int lastHistoryLength= fHistoryMatches.length;
+ fHistoryMatches= types;
+ int length= fHistoryMatches.length + fSearchMatches.length;
+ int dash= (fHistoryMatches.length > 0 && fSearchMatches.length > 0) ? 1 : 0;
+ fTable.setItemCount(length + dash);
+ if (length == 0) {
+ // bug under windows.
+ fTable.redraw();
+ return;
+ }
+ int update= Math.max(lastHistoryLength, fHistoryMatches.length);
+ if (update > 0) {
+ fTable.clear(0, update + dash - 1);
}
});
}
private void setSearchResult(int ticket, final TypeNameMatch[] types) {
- syncExec(ticket, new Runnable() {
- @Override
- public void run() {
- fExpectedItemCount+= types.length;
- fSearchMatches= types;
- int length= fHistoryMatches.length + fSearchMatches.length;
- int dash= (fHistoryMatches.length > 0 && fSearchMatches.length > 0) ? 1 : 0;
- fTable.setItemCount(length + dash);
- if (length == 0) {
- // bug under windows.
- fTable.redraw();
- return;
- }
- if (fHistoryMatches.length == 0) {
- fTable.clear(0, length + dash - 1);
- } else {
- fTable.clear(fHistoryMatches.length - 1, length + dash - 1);
- }
+ syncExec(ticket, () -> {
+ fExpectedItemCount+= types.length;
+ fSearchMatches= types;
+ int length= fHistoryMatches.length + fSearchMatches.length;
+ int dash= (fHistoryMatches.length > 0 && fSearchMatches.length > 0) ? 1 : 0;
+ fTable.setItemCount(length + dash);
+ if (length == 0) {
+ // bug under windows.
+ fTable.redraw();
+ return;
+ }
+ if (fHistoryMatches.length == 0) {
+ fTable.clear(0, length + dash - 1);
+ } else {
+ fTable.clear(fHistoryMatches.length - 1, length + dash - 1);
}
});
}
@@ -1472,13 +1439,10 @@ public class TypeInfoViewer {
}
private void syncJobDone() {
- syncExec(new Runnable() {
- @Override
- public void run() {
- fSyncJob= null;
- if (fTypeInfoFilter != null) {
- scheduleSearchJob(FULL);
- }
+ syncExec(() -> {
+ fSyncJob= null;
+ if (fTypeInfoFilter != null) {
+ scheduleSearchJob(FULL);
}
});
}
@@ -1490,29 +1454,23 @@ public class TypeInfoViewer {
//-- progress monitor updates -----------------------------------------------------
private void scheduleProgressUpdateJob() {
- syncExec(new Runnable() {
- @Override
- public void run() {
- if (fProgressCounter == 0) {
- clearProgressMessage();
- fProgressUpdateJob= new ProgressUpdateJob(fDisplay, TypeInfoViewer.this);
- fProgressUpdateJob.schedule(300);
- }
- fProgressCounter++;
+ syncExec(() -> {
+ if (fProgressCounter == 0) {
+ clearProgressMessage();
+ fProgressUpdateJob= new ProgressUpdateJob(fDisplay, this);
+ fProgressUpdateJob.schedule(300);
}
+ fProgressCounter++;
});
}
private void stopProgressUpdateJob() {
- syncExec(new Runnable() {
- @Override
- public void run() {
- fProgressCounter--;
- if (fProgressCounter == 0 && fProgressUpdateJob != null) {
- fProgressUpdateJob.stop();
- fProgressUpdateJob= null;
- clearProgressMessage();
- }
+ syncExec(() -> {
+ fProgressCounter--;
+ if (fProgressCounter == 0 && fProgressUpdateJob != null) {
+ fProgressUpdateJob.stop();
+ fProgressUpdateJob= null;
+ clearProgressMessage();
}
});
}
@@ -1535,26 +1493,20 @@ public class TypeInfoViewer {
private void syncExec(final Runnable runnable) {
if (fDisplay.isDisposed())
return;
- fDisplay.syncExec(new Runnable() {
- @Override
- public void run() {
- if (fTable.isDisposed())
- return;
- runnable.run();
- }
+ fDisplay.syncExec(() -> {
+ if (fTable.isDisposed())
+ return;
+ runnable.run();
});
}
private void syncExec(final int ticket, final Runnable runnable) {
if (fDisplay.isDisposed())
return;
- fDisplay.syncExec(new Runnable() {
- @Override
- public void run() {
- if (fTable.isDisposed() || ticket != fSearchJobTicket)
- return;
- runnable.run();
- }
+ fDisplay.syncExec(() -> {
+ if (fTable.isDisposed() || ticket != fSearchJobTicket)
+ return;
+ runnable.run();
});
}
diff --git a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeSelectionComponent.java b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeSelectionComponent.java
index 32e03660ed..94ed4dc80d 100644
--- a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeSelectionComponent.java
+++ b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/dialogs/TypeSelectionComponent.java
@@ -22,17 +22,11 @@ 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.KeyEvent;
import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
@@ -53,8 +47,6 @@ import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.dialogs.DialogSettings;
import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IWorkingSet;
@@ -211,12 +203,7 @@ public class TypeSelectionComponent extends Composite implements ITypeSelectionC
gd= new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan= 2;
fFilter.setLayoutData(gd);
- fFilter.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- patternChanged((Text)e.widget);
- }
- });
+ fFilter.addModifyListener(event -> patternChanged((Text)event.widget));
fFilter.addKeyListener(new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
@@ -239,13 +226,10 @@ public class TypeSelectionComponent extends Composite implements ITypeSelectionC
Label label= new Label(this, SWT.NONE);
label.setFont(font);
label.setText(JavaUIMessages.TypeSelectionComponent_label);
- label.addTraverseListener(new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
- e.detail= SWT.TRAVERSE_NONE;
- fViewer.setFocus();
- }
+ label.addTraverseListener(event -> {
+ if (event.detail == SWT.TRAVERSE_MNEMONIC && event.doit) {
+ event.detail= SWT.TRAVERSE_NONE;
+ fViewer.setFocus();
}
});
label= new Label(this, SWT.RIGHT);
@@ -307,12 +291,7 @@ public class TypeSelectionComponent extends Composite implements ITypeSelectionC
}
});
}
- addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent event) {
- disposeComponent();
- }
- });
+ addDisposeListener(event -> disposeComponent());
if (fTypeSelectionExtension != null) {
fTypeSelectionExtension.initialize(this);
}
@@ -351,13 +330,10 @@ public class TypeSelectionComponent extends Composite implements ITypeSelectionC
Label label= new Label(header, SWT.NONE);
label.setText(message);
label.setFont(font);
- label.addTraverseListener(new TraverseListener() {
- @Override
- public void keyTraversed(TraverseEvent e) {
- if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
- e.detail= SWT.TRAVERSE_NONE;
- fFilter.setFocus();
- }
+ label.addTraverseListener(event -> {
+ if (event.detail == SWT.TRAVERSE_MNEMONIC && event.doit) {
+ event.detail= SWT.TRAVERSE_NONE;
+ fFilter.setFocus();
}
});
GridData gd= new GridData(GridData.FILL_HORIZONTAL);
@@ -413,19 +389,16 @@ public class TypeSelectionComponent extends Composite implements ITypeSelectionC
if (fScope == null) {
fFilterActionGroup= new WorkingSetFilterActionGroup(getShell(),
JavaPlugin.getActivePage(),
- new IPropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent event) {
- IWorkingSet ws= (IWorkingSet)event.getNewValue();
- if (ws == null || (ws.isAggregateWorkingSet() && ws.isEmpty())) {
- fScope= SearchEngine.createWorkspaceScope();
- fTitleLabel.setText(null);
- } else {
- fScope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(ws, true);
- fTitleLabel.setText(ws.getLabel());
- }
- fViewer.setSearchScope(fScope, true);
+ event -> {
+ IWorkingSet ws= (IWorkingSet)event.getNewValue();
+ if (ws == null || (ws.isAggregateWorkingSet() && ws.isEmpty())) {
+ fScope= SearchEngine.createWorkspaceScope();
+ fTitleLabel.setText(null);
+ } else {
+ fScope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(ws, true);
+ fTitleLabel.setText(ws.getLabel());
}
+ fViewer.setSearchScope(fScope, true);
});
String setting= fSettings.get(WORKINGS_SET_SETTINGS);
if (setting != null) {
diff --git a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/refactoring/RefactoringSaveHelper.java b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/refactoring/RefactoringSaveHelper.java
index 471e7a467a..18cca59958 100644
--- a/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/refactoring/RefactoringSaveHelper.java
+++ b/org.eclipse.jdt.ui/internal compatibility/org/eclipse/jdt/internal/ui/refactoring/RefactoringSaveHelper.java
@@ -27,7 +27,6 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.resources.IWorkspace;
@@ -149,19 +148,16 @@ public class RefactoringSaveHelper {
if (!JavaPlugin.getActiveWorkbenchWindow().getWorkbench().saveAllEditors(false))
return false;
} else {
- IRunnableWithProgress runnable= new IRunnableWithProgress() {
- @Override
- public void run(IProgressMonitor pm) throws InterruptedException {
- int count= dirtyEditors.length;
- pm.beginTask("", count); //$NON-NLS-1$
- for (int i= 0; i < count; i++) {
- IEditorPart editor= dirtyEditors[i];
- editor.doSave(new SubProgressMonitor(pm, 1));
- if (pm.isCanceled())
- throw new InterruptedException();
- }
- pm.done();
+ IRunnableWithProgress runnable= pm -> {
+ int count= dirtyEditors.length;
+ pm.beginTask("", count); //$NON-NLS-1$
+ for (int i= 0; i < count; i++) {
+ IEditorPart editor= dirtyEditors[i];
+ editor.doSave(new SubProgressMonitor(pm, 1));
+ if (pm.isCanceled())
+ throw new InterruptedException();
}
+ pm.done();
};
try {
PlatformUI.getWorkbench().getProgressService().runInUI(JavaPlugin.getActiveWorkbenchWindow(), runnable, null);

Back to the top