提交 e0a679b1 编写于 作者: S serge-rider

Code cleanup (java 8)

上级 2043dfa0
......@@ -32,7 +32,6 @@ import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.DBPImage;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.dnd.LocalObjectTransfer;
import org.jkiss.dbeaver.ui.dnd.TreeNodeTransfer;
import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils;
import org.jkiss.utils.IntKeyMap;
......@@ -2578,12 +2577,7 @@ public abstract class LightGrid extends Canvas {
for (Integer columnIndex : columnIndices.keySet()) {
selectedColumns.add(columns.get(columnIndex));
}
Collections.sort(selectedColumns, new Comparator<GridColumn>() {
@Override
public int compare(GridColumn o1, GridColumn o2) {
return o1.getIndex() - o2.getIndex();
}
});
selectedColumns.sort(Comparator.comparingInt(GridColumn::getIndex));
}
/**
......@@ -2591,66 +2585,23 @@ public abstract class LightGrid extends Canvas {
*/
private void initListeners()
{
disposeListener = new Listener() {
@Override
public void handleEvent(Event e)
{
onDispose(e);
}
};
disposeListener = this::onDispose;
addListener(SWT.Dispose, disposeListener);
addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e)
{
onPaint(e);
}
});
addListener(SWT.Resize, new Listener() {
@Override
public void handleEvent(Event e)
{
onResize();
}
});
addPaintListener(this::onPaint);
addListener(SWT.Resize, e -> onResize());
if (getVerticalBar() != null) {
getVerticalBar().addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event e)
{
onScrollSelection();
}
});
getVerticalBar().addListener(SWT.Selection, e -> onScrollSelection());
}
if (getHorizontalBar() != null) {
getHorizontalBar().addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event e)
{
onScrollSelection();
}
});
getHorizontalBar().addListener(SWT.Selection, e -> onScrollSelection());
}
addListener(SWT.KeyDown, new Listener() {
@Override
public void handleEvent(Event e)
{
onKeyDown(e);
}
});
addListener(SWT.KeyDown, this::onKeyDown);
addTraverseListener(new TraverseListener() {
@Override
public void keyTraversed(TraverseEvent e)
{
e.doit = true;
}
});
addTraverseListener(e -> e.doit = true);
addMouseListener(new MouseListener() {
@Override
......@@ -2672,13 +2623,7 @@ public abstract class LightGrid extends Canvas {
}
});
addMouseMoveListener(new MouseMoveListener() {
@Override
public void mouseMove(MouseEvent e)
{
onMouseMove(e);
}
});
addMouseMoveListener(this::onMouseMove);
addMouseTrackListener(new MouseTrackListener() {
@Override
......@@ -2715,13 +2660,7 @@ public abstract class LightGrid extends Canvas {
// Special code to reflect mouse wheel events if using an external
// scroller
addListener(SWT.MouseWheel, new Listener() {
@Override
public void handleEvent(Event e)
{
onMouseWheel(e);
}
});
addListener(SWT.MouseWheel, this::onMouseWheel);
}
private void onFocusIn()
......@@ -2979,12 +2918,7 @@ public abstract class LightGrid extends Canvas {
if (focusItem > row) {
focusItem = row;
}
for (Iterator<GridPos> iter = selectedCells.iterator(); iter.hasNext(); ) {
GridPos pos = iter.next();
if (pos.row > row) {
iter.remove();
}
}
selectedCells.removeIf(pos -> pos.row > row);
updateSelectionCache();
computeHeaderSizes();
this.scrollValuesObsolete = true;
......
......@@ -19,9 +19,6 @@ package org.jkiss.dbeaver.ui.controls.querylog;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.MenuManager;
......@@ -33,7 +30,6 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jgit.annotations.Nullable;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.*;
......@@ -47,6 +43,7 @@ import org.eclipse.swt.widgets.*;
import org.eclipse.ui.IWorkbenchCommandConstants;
import org.eclipse.ui.IWorkbenchPartSite;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.core.CoreCommands;
......@@ -60,7 +57,6 @@ import org.jkiss.dbeaver.model.preferences.DBPPreferenceListener;
import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore;
import org.jkiss.dbeaver.model.qm.*;
import org.jkiss.dbeaver.model.qm.meta.*;
import org.jkiss.dbeaver.model.runtime.AbstractJob;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.sql.SQLConstants;
import org.jkiss.dbeaver.model.sql.SQLDialect;
......@@ -333,20 +329,11 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
private int entriesPerPage = MIN_ENTRIES_PER_PAGE;
private Job filterJob;
public QueryLogViewer(Composite parent, IWorkbenchPartSite site, QMEventFilter filter, boolean showConnection)
{
super();
this.site = site;
this.filterJob = new AbstractJob("Filter query history") {
@Override
protected IStatus run(DBRProgressMonitor monitor) {
refresh();
return Status.OK_STATUS;
}
};
// Prepare colors
......@@ -372,9 +359,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPrefere
e.gc.setFont(null);
}
});
this.searchText.addModifyListener(e -> {
scheduleLogRefresh();
});
this.searchText.addModifyListener(e -> scheduleLogRefresh());
// Create log table
logTable = new Table(
......
......@@ -51,7 +51,6 @@ import org.jkiss.dbeaver.model.data.DBDDisplayFormat;
import org.jkiss.dbeaver.model.edit.DBEPersistAction;
import org.jkiss.dbeaver.model.runtime.AbstractJob;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.model.sql.SQLUtils;
import org.jkiss.dbeaver.runtime.ui.DBUserInterface;
import org.jkiss.dbeaver.tools.transfer.IDataTransferProducer;
......@@ -231,13 +230,10 @@ public class ResultSetCommandHandler extends AbstractHandler {
try {
final List<DBEPersistAction> sqlScript = new ArrayList<>();
try {
DBeaverUI.runInProgressService(new DBRRunnableWithProgress() {
@Override
public void run(DBRProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
List<DBEPersistAction> script = rsv.generateChangesScript(monitor);
if (script != null) {
sqlScript.addAll(script);
}
DBeaverUI.runInProgressService(monitor -> {
List<DBEPersistAction> script = rsv.generateChangesScript(monitor);
if (script != null) {
sqlScript.addAll(script);
}
});
} catch (InterruptedException e) {
......@@ -384,20 +380,17 @@ public class ResultSetCommandHandler extends AbstractHandler {
"Go to Row",
"Enter row number (1.." + rowCount + ")",
String.valueOf(currentRow == null ? 1 : currentRow.getVisualNumber() + 1),
new IInputValidator() {
@Override
public String isValid(String input) {
try {
int i = Integer.parseInt(input);
if (i <= 0 || rowCount < i) {
return "Row number is out of range";
}
} catch (NumberFormatException x) {
return "Not a number";
input -> {
try {
int i = Integer.parseInt(input);
if (i <= 0 || rowCount < i) {
return "Row number is out of range";
}
return null;
} catch (NumberFormatException x) {
return "Not a number";
}
return null;
});
if (d.open() == Window.OK) {
int line = Integer.parseInt(d.getValue());
......
......@@ -217,20 +217,17 @@ public class ResultSetDataContainer implements DBSDataContainer, IAdaptable {
@Override
public DBCResultSetMetaData getMeta() throws DBCException {
return new DBCResultSetMetaData() {
@Override
public List<DBCAttributeMetaData> getAttributes() {
List<DBDAttributeBinding> attributes = model.getVisibleAttributes();
List<DBCAttributeMetaData> meta = new ArrayList<>(attributes.size());
boolean selectedColumnsOnly = proceedSelectedColumnsOnly();
for (DBDAttributeBinding attribute : attributes) {
DBCAttributeMetaData metaAttribute = attribute.getMetaAttribute();
if (!selectedColumnsOnly || options.getSelectedColumns().contains(metaAttribute.getName())) {
meta.add(metaAttribute);
}
return () -> {
List<DBDAttributeBinding> attributes = model.getVisibleAttributes();
List<DBCAttributeMetaData> meta = new ArrayList<>(attributes.size());
boolean selectedColumnsOnly = proceedSelectedColumnsOnly();
for (DBDAttributeBinding attribute : attributes) {
DBCAttributeMetaData metaAttribute = attribute.getMetaAttribute();
if (!selectedColumnsOnly || options.getSelectedColumns().contains(metaAttribute.getName())) {
meta.add(metaAttribute);
}
return meta;
}
return meta;
};
}
......
......@@ -156,22 +156,19 @@ class ResultSetDataReceiver implements DBDDataReceiver {
final List<Object[]> tmpRows = rows;
final boolean nextSegmentRead = this.nextSegmentRead;
DBeaverUI.syncExec(new Runnable() {
@Override
public void run() {
// Push data into viewer
if (!nextSegmentRead) {
resultSetViewer.updatePresentation(resultSet);
resultSetViewer.setData(tmpRows, focusRow);
resultSetViewer.getActivePresentation().refreshData(true, false, !resultSetViewer.getModel().isMetadataChanged());
} else {
resultSetViewer.appendData(tmpRows);
resultSetViewer.getActivePresentation().refreshData(false, true, true);
}
resultSetViewer.updateStatusMessage();
// Check for more data
hasMoreData = maxRows > 0 && tmpRows.size() >= maxRows;
DBeaverUI.syncExec(() -> {
// Push data into viewer
if (!nextSegmentRead) {
resultSetViewer.updatePresentation(resultSet);
resultSetViewer.setData(tmpRows, focusRow);
resultSetViewer.getActivePresentation().refreshData(true, false, !resultSetViewer.getModel().isMetadataChanged());
} else {
resultSetViewer.appendData(tmpRows);
resultSetViewer.getActivePresentation().refreshData(false, true, true);
}
resultSetViewer.updateStatusMessage();
// Check for more data
hasMoreData = maxRows > 0 && tmpRows.size() >= maxRows;
});
}
......
......@@ -544,7 +544,7 @@ public class ResultSetModel {
this.dataFilter = createDataFilter();
updateDataFilter(prevFilter);
}
Collections.sort(this.visibleAttributes, POSITION_SORTER);
this.visibleAttributes.sort(POSITION_SORTER);
{
// Check single source flag
......@@ -597,11 +597,8 @@ public class ResultSetModel {
for (DBVColorOverride co : coList) {
DBDAttributeBinding binding = getAttributeBinding(entity, co.getAttributeName());
if (binding != null) {
List<AttributeColorSettings> cmList = colorMapping.get(binding);
if (cmList == null) {
cmList = new ArrayList<>();
colorMapping.put(binding, cmList);
}
List<AttributeColorSettings> cmList =
colorMapping.computeIfAbsent(binding, k -> new ArrayList<>());
cmList.add(new AttributeColorSettings(co));
}
}
......@@ -724,12 +721,7 @@ public class ResultSetModel {
if (rows != null && !rows.isEmpty()) {
// Remove rows (in descending order to prevent concurrent modification errors)
List<ResultSetRow> rowsToRemove = new ArrayList<>(rows);
Collections.sort(rowsToRemove, new Comparator<ResultSetRow>() {
@Override
public int compare(ResultSetRow o1, ResultSetRow o2) {
return o1.getVisualNumber() - o2.getVisualNumber();
}
});
rowsToRemove.sort(Comparator.comparingInt(ResultSetRow::getVisualNumber));
for (ResultSetRow row : rowsToRemove) {
cleanupRow(row);
}
......@@ -858,7 +850,7 @@ public class ResultSetModel {
}
}
Collections.sort(this.visibleAttributes, POSITION_SORTER);
this.visibleAttributes.sort(POSITION_SORTER);
this.dataFilter.setWhere(filter.getWhere());
this.dataFilter.setOrder(filter.getOrder());
......@@ -869,42 +861,39 @@ public class ResultSetModel {
final boolean hasOrdering = dataFilter.hasOrdering();
// Sort locally
final List<DBDAttributeConstraint> orderConstraints = dataFilter.getOrderConstraints();
Collections.sort(curRows, new Comparator<ResultSetRow>() {
@Override
public int compare(ResultSetRow row1, ResultSetRow row2) {
if (!hasOrdering) {
return row1.getRowNumber() - row2.getRowNumber();
curRows.sort((row1, row2) -> {
if (!hasOrdering) {
return row1.getRowNumber() - row2.getRowNumber();
}
int result = 0;
for (DBDAttributeConstraint co : orderConstraints) {
final DBDAttributeBinding binding = getAttributeBinding(co.getAttribute());
if (binding == null) {
continue;
}
int result = 0;
for (DBDAttributeConstraint co : orderConstraints) {
final DBDAttributeBinding binding = getAttributeBinding(co.getAttribute());
if (binding == null) {
continue;
}
Object cell1 = getCellValue(binding, row1);
Object cell2 = getCellValue(binding, row2);
if (cell1 == cell2) {
result = 0;
} else if (DBUtils.isNullValue(cell1)) {
result = 1;
} else if (DBUtils.isNullValue(cell2)) {
result = -1;
} else if (cell1 instanceof Comparable) {
result = ((Comparable) cell1).compareTo(cell2);
} else {
String str1 = String.valueOf(cell1);
String str2 = String.valueOf(cell2);
result = str1.compareTo(str2);
}
if (co.isOrderDescending()) {
result = -result;
}
if (result != 0) {
break;
}
Object cell1 = getCellValue(binding, row1);
Object cell2 = getCellValue(binding, row2);
if (cell1 == cell2) {
result = 0;
} else if (DBUtils.isNullValue(cell1)) {
result = 1;
} else if (DBUtils.isNullValue(cell2)) {
result = -1;
} else if (cell1 instanceof Comparable) {
result = ((Comparable) cell1).compareTo(cell2);
} else {
String str1 = String.valueOf(cell1);
String str2 = String.valueOf(cell2);
result = str1.compareTo(str2);
}
if (co.isOrderDescending()) {
result = -result;
}
if (result != 0) {
break;
}
return result;
}
return result;
});
for (int i = 0; i < curRows.size(); i++) {
curRows.get(i).setVisualNumber(i);
......
......@@ -19,9 +19,7 @@ package org.jkiss.dbeaver.ui.controls.resultset.panel;
import org.eclipse.jface.action.*;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.events.SelectionAdapter;
......@@ -103,26 +101,19 @@ public class AggregateColumnsPanel implements IResultSetPanel {
new TreeColumn(this.aggregateTable, SWT.RIGHT).setText("Value");
if (this.presentation instanceof ISelectionProvider) {
((ISelectionProvider) this.presentation).addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
if (presentation.getController().getVisiblePanel() == AggregateColumnsPanel.this) {
refresh(false);
}
((ISelectionProvider) this.presentation).addSelectionChangedListener(event -> {
if (presentation.getController().getVisiblePanel() == AggregateColumnsPanel.this) {
refresh(false);
}
});
}
MenuManager menuMgr = new MenuManager();
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager manager)
{
manager.add(new CopyAction());
manager.add(new CopyAllAction());
manager.add(new Separator());
fillToolBar(manager);
}
menuMgr.addMenuListener(manager -> {
manager.add(new CopyAction());
manager.add(new CopyAllAction());
manager.add(new Separator());
fillToolBar(manager);
});
menuMgr.setRemoveAllWhenShown(true);
......@@ -157,12 +148,7 @@ public class AggregateColumnsPanel implements IResultSetPanel {
enabledFunctions.add(func);
}
}
Collections.sort(enabledFunctions, new Comparator<AggregateFunctionDescriptor>() {
@Override
public int compare(AggregateFunctionDescriptor o1, AggregateFunctionDescriptor o2) {
return funcIndexes.get(o1) - funcIndexes.get(o2);
}
});
enabledFunctions.sort(Comparator.comparingInt(funcIndexes::get));
}
if (enabledFunctions.isEmpty()) {
......@@ -176,12 +162,7 @@ public class AggregateColumnsPanel implements IResultSetPanel {
enabledFunctions.add(func);
}
}
Collections.sort(enabledFunctions, new Comparator<AggregateFunctionDescriptor>() {
@Override
public int compare(AggregateFunctionDescriptor o1, AggregateFunctionDescriptor o2) {
return o1.getLabel().compareTo(o2.getLabel());
}
});
enabledFunctions.sort(Comparator.comparing(AggregateFunctionDescriptor::getLabel));
}
private void saveSettings() {
......@@ -241,11 +222,7 @@ public class AggregateColumnsPanel implements IResultSetPanel {
DBDAttributeBinding attr = selection.getElementAttribute(element);
ResultSetRow row = selection.getElementRow(element);
Object cellValue = model.getCellValue(attr, row);
List<Object> values = attrValues.get(attr);
if (values == null) {
values = new ArrayList<>();
attrValues.put(attr, values);
}
List<Object> values = attrValues.computeIfAbsent(attr, k -> new ArrayList<>());
values.add(cellValue);
}
......
......@@ -22,14 +22,11 @@ import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.DBPImage;
import org.jkiss.dbeaver.model.DBValueFormatting;
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
......@@ -56,8 +53,6 @@ import java.util.List;
*/
public class MetaDataPanel implements IResultSetPanel {
private static final Log log = Log.getLog(MetaDataPanel.class);
public static final String PANEL_ID = "results-metadata";
private IResultSetPresentation presentation;
......@@ -91,46 +86,36 @@ public class MetaDataPanel implements IResultSetPanel {
this.attributeList = new MetaDataTable(parent);
this.attributeList.setFitWidth(false);
this.attributeList.getItemsViewer().addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
DBDAttributeBinding attr = getSelectedAttribute();
if (attr != null && !updateSelection) {
if (isAttributeVisible(attr)) {
updateSelection = true;
try {
presentation.setCurrentAttribute(attr);
} finally {
updateSelection = false;
}
this.attributeList.getItemsViewer().addSelectionChangedListener(event -> {
DBDAttributeBinding attr = getSelectedAttribute();
if (attr != null && !updateSelection) {
if (isAttributeVisible(attr)) {
updateSelection = true;
try {
presentation.setCurrentAttribute(attr);
} finally {
updateSelection = false;
}
}
}
});
if (this.presentation instanceof ISelectionProvider) {
final ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
if (!updateSelection && MetaDataPanel.this.presentation.getController().getVisiblePanel() == MetaDataPanel.this) {
DBDAttributeBinding attr = presentation.getCurrentAttribute();
if (attr != null && attr != getSelectedAttribute()) {
updateSelection = true;
try {
attributeList.getItemsViewer().setSelection(new StructuredSelection(attr));
} finally {
updateSelection = false;
}
final ISelectionChangedListener listener = event -> {
if (!updateSelection && MetaDataPanel.this.presentation.getController().getVisiblePanel() == MetaDataPanel.this) {
DBDAttributeBinding attr = presentation.getCurrentAttribute();
if (attr != null && attr != getSelectedAttribute()) {
updateSelection = true;
try {
attributeList.getItemsViewer().setSelection(new StructuredSelection(attr));
} finally {
updateSelection = false;
}
}
}
};
((ISelectionProvider) this.presentation).addSelectionChangedListener(listener);
attributeList.getControl().addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
((ISelectionProvider) presentation).removeSelectionChangedListener(listener);
}
});
attributeList.getControl().addDisposeListener(e ->
((ISelectionProvider) presentation).removeSelectionChangedListener(listener));
}
return this.attributeList;
......
......@@ -24,12 +24,7 @@ import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
......@@ -108,18 +103,15 @@ public class ViewValuePanel implements IResultSetPanel, IAdaptable {
viewPlaceholder = new Composite(parent, SWT.NONE);
viewPlaceholder.setLayout(new FillLayout());
viewPlaceholder.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
if (viewPlaceholder.getChildren().length == 0) {
String hidePanelCmd = ActionUtils.findCommandDescription(
ResultSetCommandHandler.CMD_TOGGLE_PANELS,
ViewValuePanel.this.presentation.getController().getSite(),
true);
UIUtils.drawMessageOverControl(viewPlaceholder, e, "Select a cell to view/edit value", 0);
UIUtils.drawMessageOverControl(viewPlaceholder, e, "Press " + hidePanelCmd + " to hide this panel", 20);
}
viewPlaceholder.addPaintListener(e -> {
if (viewPlaceholder.getChildren().length == 0) {
String hidePanelCmd = ActionUtils.findCommandDescription(
ResultSetCommandHandler.CMD_TOGGLE_PANELS,
ViewValuePanel.this.presentation.getController().getSite(),
true);
UIUtils.drawMessageOverControl(viewPlaceholder, e, "Select a cell to view/edit value", 0);
UIUtils.drawMessageOverControl(viewPlaceholder, e, "Press " + hidePanelCmd + " to hide this panel", 20);
}
});
......@@ -137,21 +129,13 @@ public class ViewValuePanel implements IResultSetPanel, IAdaptable {
if (this.presentation instanceof ISelectionProvider) {
final ISelectionProvider selectionProvider = (ISelectionProvider) this.presentation;
final ISelectionChangedListener selectionListener = new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
if (ViewValuePanel.this.presentation.getController().getVisiblePanel() == ViewValuePanel.this) {
refreshValue(false);
}
final ISelectionChangedListener selectionListener = event -> {
if (ViewValuePanel.this.presentation.getController().getVisiblePanel() == ViewValuePanel.this) {
refreshValue(false);
}
};
selectionProvider.addSelectionChangedListener(selectionListener);
viewPlaceholder.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
selectionProvider.removeSelectionChangedListener(selectionListener);
}
});
viewPlaceholder.addDisposeListener(e -> selectionProvider.removeSelectionChangedListener(selectionListener));
}
return viewPlaceholder;
......@@ -264,15 +248,11 @@ public class ViewValuePanel implements IResultSetPanel, IAdaptable {
} else {
final Composite placeholder = UIUtils.createPlaceholder(viewPlaceholder, 1);
placeholder.setBackground(placeholder.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
placeholder.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e)
{
Rectangle bounds = placeholder.getBounds();
String message = "No editor for [" + previewController.getValueType().getTypeName() + "]";
Point ext = e.gc.textExtent(message);
e.gc.drawText(message, (bounds.width - ext.x) / 2, bounds.height / 3 + 20);
}
placeholder.addPaintListener(e -> {
Rectangle bounds = placeholder.getBounds();
String message = "No editor for [" + previewController.getValueType().getTypeName() + "]";
Point ext = e.gc.textExtent(message);
e.gc.drawText(message, (bounds.width - ext.x) / 2, bounds.height / 3 + 20);
});
referenceValueEditor = null;
}
......
......@@ -100,9 +100,7 @@ public class PlainTextPresentation extends AbstractPresentation implements IAdap
fireSelectionChanged(new PlainTextSelectionImpl());
}
});
text.addDisposeListener(e -> {
dispose();
});
text.addDisposeListener(e -> dispose());
final ScrollBar verticalBar = text.getVerticalBar();
verticalBar.addSelectionListener(new SelectionAdapter() {
......@@ -206,12 +204,7 @@ public class PlainTextPresentation extends AbstractPresentation implements IAdap
horOffsetEnd - horOffsetBegin - 1,
null,
curLineColor);
DBeaverUI.asyncExec(new Runnable() {
@Override
public void run() {
text.setStyleRanges(new StyleRange[]{curLineRange});
}
});
DBeaverUI.asyncExec(() -> text.setStyleRanges(new StyleRange[]{curLineRange}));
}
}
......@@ -582,7 +575,7 @@ public class PlainTextPresentation extends AbstractPresentation implements IAdap
public List<String> toList()
{
return curSelection == null ?
Collections.<String>emptyList() :
Collections.emptyList() :
Collections.singletonList(curSelection);
}
......
......@@ -16,8 +16,6 @@
*/
package org.jkiss.dbeaver.ui.controls.resultset.spreadsheet;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.accessibility.Accessible;
......@@ -25,29 +23,17 @@ import org.eclipse.swt.accessibility.AccessibleEvent;
import org.eclipse.swt.accessibility.AccessibleListener;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.IWorkbenchPartSite;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.ui.controls.lightgrid.GridCell;
import org.jkiss.dbeaver.ui.controls.lightgrid.GridPos;
import org.jkiss.dbeaver.ui.controls.lightgrid.IGridContentProvider;
import org.jkiss.dbeaver.ui.controls.lightgrid.IGridController;
import org.jkiss.dbeaver.ui.controls.lightgrid.IGridLabelProvider;
import org.jkiss.dbeaver.ui.controls.lightgrid.LightGrid;
import org.jkiss.dbeaver.ui.controls.lightgrid.*;
import org.jkiss.dbeaver.ui.controls.resultset.AbstractPresentation;
/**
......@@ -130,12 +116,9 @@ public class Spreadsheet extends LightGrid implements Listener {
hookAccessibility();
{
super.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
if (clipboard != null && !clipboard.isDisposed()) {
clipboard.dispose();
}
super.addDisposeListener(e -> {
if (clipboard != null && !clipboard.isDisposed()) {
clipboard.dispose();
}
});
}
......@@ -328,12 +311,7 @@ public class Spreadsheet extends LightGrid implements Listener {
case LightGrid.Event_NavigateLink:
// Perform navigation async because it may change grid content and
// we don't want to mess current grid state
DBeaverUI.asyncExec(new Runnable() {
@Override
public void run() {
presentation.navigateLink((GridCell) event.data, event.stateMask);
}
});
DBeaverUI.asyncExec(() -> presentation.navigateLink((GridCell) event.data, event.stateMask));
break;
}
}
......@@ -349,17 +327,13 @@ public class Spreadsheet extends LightGrid implements Listener {
{
MenuManager menuMgr = new MenuManager(null, AbstractPresentation.RESULT_SET_PRESENTATION_CONTEXT_MENU);
Menu menu = menuMgr.createContextMenu(this);
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager manager)
{
// Let controller to provide it's own menu items
GridPos focusPos = getFocusPos();
presentation.fillContextMenu(
manager, focusPos.col >= 0 && focusPos.col < columnElements.length ? columnElements[focusPos.col] : null,
focusPos.row >= 0 && focusPos.row < rowElements.length ? rowElements[focusPos.row] : null
);
}
menuMgr.addMenuListener(manager -> {
// Let controller to provide it's own menu items
GridPos focusPos = getFocusPos();
presentation.fillContextMenu(
manager, focusPos.col >= 0 && focusPos.col < columnElements.length ? columnElements[focusPos.col] : null,
focusPos.row >= 0 && focusPos.row < rowElements.length ? rowElements[focusPos.row] : null
);
});
menuMgr.setRemoveAllWhenShown(true);
super.setMenu(menu);
......@@ -435,12 +409,7 @@ public class Spreadsheet extends LightGrid implements Listener {
final Accessible accessible = getAccessible();
accessible.addAccessibleListener(new GridAccessibleListener());
addCursorChangeListener(new Listener() {
@Override
public void handleEvent(Event event) {
accessible.selectionChanged();
}
});
addCursorChangeListener(event -> accessible.selectionChanged());
}
private static class GridAccessibleListener implements AccessibleListener {
......
......@@ -24,7 +24,6 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.jkiss.dbeaver.ui.controls.lightgrid.LightGrid;
......@@ -69,14 +68,7 @@ public class SpreadsheetCellEditor extends ControlEditor
}
};
resizeListener = new Listener()
{
@Override
public void handleEvent(Event event)
{
layout();
}
};
resizeListener = event -> layout();
scrollListener = new SelectionListener()
{
......
......@@ -131,7 +131,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
private Color foregroundSelected, backgroundSelected;
private Color backgroundMatched;
private Color cellHeaderForeground, cellHeaderBackground, cellHeaderSelectionBackground;
private Font boldFont, italicFont, bolItalicFont;
private Font boldFont, italicFont;
private boolean showOddRows = true;
private boolean showCelIcons = true;
......@@ -1289,12 +1289,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
for (Integer row : spreadsheet.getRowSelection()) {
rows.add(controller.getModel().getRow(row));
}
Collections.sort(rows, new Comparator<ResultSetRow>() {
@Override
public int compare(ResultSetRow o1, ResultSetRow o2) {
return o1.getVisualNumber() - o2.getVisualNumber();
}
});
rows.sort(Comparator.comparingInt(ResultSetRow::getVisualNumber));
return rows;
}
}
......@@ -1337,12 +1332,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
} else {
DBDAttributeBinding[] columns = model.getVisibleAttributes().toArray(new DBDAttributeBinding[model.getVisibleAttributeCount()]);
if (columnOrder != SWT.NONE && columnOrder != SWT.DEFAULT) {
Arrays.sort(columns, new Comparator<DBDAttributeBinding>() {
@Override
public int compare(DBDAttributeBinding o1, DBDAttributeBinding o2) {
return o1.getName().compareTo(o2.getName()) * (columnOrder == SWT.UP ? 1 : -1);
}
});
Arrays.sort(columns, (o1, o2) -> o1.getName().compareTo(o2.getName()) * (columnOrder == SWT.UP ? 1 : -1));
}
return columns;
}
......
......@@ -37,7 +37,7 @@ public enum QMObjectType {
private final Class<? extends QMMObject> type;
private QMObjectType(Class<? extends QMMObject> type)
QMObjectType(Class<? extends QMMObject> type)
{
this.type = type;
}
......
......@@ -29,7 +29,6 @@ import org.jkiss.dbeaver.model.qm.meta.QMMTransactionInfo;
import org.jkiss.dbeaver.model.qm.meta.QMMTransactionSavepointInfo;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import java.util.Collections;
import java.util.List;
/**
......@@ -37,7 +36,6 @@ import java.util.List;
*/
public class QMUtils {
public static final EmptyCursorImpl EMPTY_CURSOR = new EmptyCursorImpl();
private static DBPPlatform application;
private static QMExecutionHandler defaultHandler;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册