diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/ERDConstants.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/ERDConstants.java index 0fa380604e448424957c2a223008386820c31bde..9c757d95f45fde695a6103c7222ccbd513cbad10 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/ERDConstants.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/ERDConstants.java @@ -36,8 +36,9 @@ public class ERDConstants { public static final int PRINT_MODE_DEFAULT = PrintFigureOperation.TILE; public static final int PRINT_MARGIN_DEFAULT = 0; - public static final String PREF_DIAGRAM_SHOW_VIEWS = "erd.diagram.show.views"; + public static final String PROP_DIAGRAM_FONT = "org.jkiss.dbeaver.erd.diagram.font"; + public static final String PREF_DIAGRAM_SHOW_VIEWS = "erd.diagram.show.views"; public static final String PREF_GRID_ENABLED = "erd.grid.enabled"; public static final String PREF_GRID_SNAP_ENABLED = "erd.grid.snap"; public static final String PREF_GRID_WIDTH = "erd.grid.width"; diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorAdapter.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorAdapter.java index 3bfe0794c99572fc157c7cb3bf7ada2e3f2cc581..d6c18e9c32c16be71c25e12784dce1a8d2363f83 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorAdapter.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorAdapter.java @@ -45,10 +45,10 @@ public class ERDEditorAdapter implements IAdapterFactory { } @Override - public Object getAdapter(Object adaptableObject, Class adapterType) { + public T getAdapter(Object adaptableObject, Class adapterType) { if (adapterType == ERDEditorPart.class) { if (adaptableObject instanceof Control) { - return getEditor((Control) adaptableObject); + return adapterType.cast(getEditor((Control) adaptableObject)); } } return null; diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorContextMenuProvider.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorContextMenuProvider.java index acdafb9dc3f4762cd8a8352c898ea5a565d2f808..316d7359423e20088afdbd3879abbd6798fcd1df 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorContextMenuProvider.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorContextMenuProvider.java @@ -25,10 +25,8 @@ import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.IWorkbenchCommandConstants; import org.jkiss.dbeaver.core.CoreCommands; import org.jkiss.dbeaver.ext.erd.action.DiagramLayoutAction; -import org.jkiss.dbeaver.ui.ActionUtils; /** * Provides a context menu for the schema diagram editor. A virtual cut and paste from the flow example diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorEmbedded.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorEmbedded.java index faac4afa5f491b6d9c9d349383c1614e2fbc07fe..8c70959c178c7b21a94cd2a47d1bb477e920733d 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorEmbedded.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorEmbedded.java @@ -25,7 +25,6 @@ import org.jkiss.dbeaver.ext.erd.ERDActivator; import org.jkiss.dbeaver.ext.erd.ERDConstants; import org.jkiss.dbeaver.ext.erd.model.EntityDiagram; import org.jkiss.dbeaver.model.DBPDataSourceContainer; -import org.jkiss.dbeaver.model.DBPRefreshableObject; import org.jkiss.dbeaver.model.DBUtils; import org.jkiss.dbeaver.model.exec.DBCExecutionContext; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; @@ -113,7 +112,7 @@ public class ERDEditorEmbedded extends ERDEditorPart implements IDatabaseEditor, if (object == null) { return null; } - if (object instanceof DBPDataSourceContainer && object.getDataSource() instanceof DBSObject) { + if (object instanceof DBPDataSourceContainer && object.getDataSource() != null) { object = object.getDataSource(); } return object; diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorPart.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorPart.java index cc117f84df7470a4f7e167d3e76e8919835fd812..efe1b227516758b807fb23b3297e2c5874de4257 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorPart.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorPart.java @@ -28,8 +28,7 @@ import org.eclipse.gef.*; import org.eclipse.gef.commands.CommandStack; import org.eclipse.gef.editparts.ScalableFreeformRootEditPart; import org.eclipse.gef.editparts.ZoomManager; -import org.eclipse.gef.palette.*; -import org.eclipse.gef.requests.CreationFactory; +import org.eclipse.gef.palette.PaletteRoot; import org.eclipse.gef.ui.actions.*; import org.eclipse.gef.ui.palette.FlyoutPaletteComposite; import org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences; @@ -39,7 +38,6 @@ import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler; import org.eclipse.gef.ui.properties.UndoablePropertySheetEntry; import org.eclipse.jface.action.*; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.viewers.IStructuredSelection; @@ -76,7 +74,6 @@ import org.jkiss.dbeaver.ext.erd.export.ERDExportFormatHandler; import org.jkiss.dbeaver.ext.erd.export.ERDExportFormatRegistry; import org.jkiss.dbeaver.ext.erd.model.ERDDecorator; import org.jkiss.dbeaver.ext.erd.model.ERDDecoratorDefault; -import org.jkiss.dbeaver.ext.erd.model.ERDNote; import org.jkiss.dbeaver.ext.erd.model.EntityDiagram; import org.jkiss.dbeaver.ext.erd.part.DiagramPart; import org.jkiss.dbeaver.model.DBPDataSourceUser; @@ -90,7 +87,10 @@ import org.jkiss.utils.ArrayUtils; import org.jkiss.utils.CommonUtils; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.EventObject; +import java.util.List; /** * Editor implementation based on the the example editor skeleton that is built in Building @@ -516,8 +516,8 @@ public abstract class ERDEditorPart extends GraphicalEditorWithFlyoutPalette @Override protected void updateActions(List actionIds) { - for (Iterator ids = actionIds.iterator(); ids.hasNext();) { - IAction action = getActionRegistry().getAction(ids.next()); + for (Object actionId : actionIds) { + IAction action = getActionRegistry().getAction(actionId); if (null != action && action instanceof UpdateAction) { ((UpdateAction) action).update(); } diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDGraphicalViewer.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDGraphicalViewer.java index dffe189737bcaf2c1c991ffafa95535670989ccd..6a91feb9f3e7873af2b8d284915d33590f76dcd4 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDGraphicalViewer.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDGraphicalViewer.java @@ -142,7 +142,7 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro public void propertyChange(PropertyChangeEvent event) { if (event.getProperty().equals(IThemeManager.CHANGE_CURRENT_THEME) - || event.getProperty().equals("org.jkiss.dbeaver.erd.diagram.font")) + || event.getProperty().equals(ERDConstants.PROP_DIAGRAM_FONT)) { applyThemeSettings(); } @@ -151,7 +151,7 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro private void applyThemeSettings() { ITheme currentTheme = themeManager.getCurrentTheme(); - Font erdFont = currentTheme.getFontRegistry().get("org.jkiss.dbeaver.erd.diagram.font"); + Font erdFont = currentTheme.getFontRegistry().get(ERDConstants.PROP_DIAGRAM_FONT); if (erdFont != null) { this.getControl().setFont(erdFont); } @@ -322,13 +322,8 @@ public class ERDGraphicalViewer extends ScrollingGraphicalViewer implements IPro { // Close editor only if it is simple disconnect // Workbench shutdown doesn't close editor - UIUtils.asyncExec(new Runnable() { - @Override - public void run() { - - editor.getSite().getWorkbenchWindow().getActivePage().closeEditor(editor, false); - } - }); + UIUtils.asyncExec(() -> + editor.getSite().getWorkbenchWindow().getActivePage().closeEditor(editor, false)); } } diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDOutlinePage.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDOutlinePage.java index 9cf84657b395a1af469aa37d8eed9bf6af10ed7a..7661b9bffa4da5c2a88c94f0d396638c7b0179a0 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDOutlinePage.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDOutlinePage.java @@ -36,43 +36,45 @@ import org.eclipse.ui.views.contentoutline.IContentOutlinePage; /** * This is a sample implementation of an outline page showing an * overview of a graphical editor. - * + * * @author Gunnar Wagenknecht */ -public class ERDOutlinePage extends Page implements IContentOutlinePage -{ +public class ERDOutlinePage extends Page implements IContentOutlinePage { - /** the control of the overview */ + /** + * the control of the overview + */ private Canvas overview; - /** the root edit part */ + /** + * the root edit part + */ private ScalableFreeformRootEditPart rootEditPart; - /** the thumbnail */ + /** + * the thumbnail + */ private Thumbnail thumbnail; /** * Creates a new ERDOutlinePage instance. + * * @param rootEditPart the root edit part to show the overview from */ - public ERDOutlinePage(ScalableFreeformRootEditPart rootEditPart) - { + public ERDOutlinePage(ScalableFreeformRootEditPart rootEditPart) { super(); this.rootEditPart = rootEditPart; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) - */ @Override - public void addSelectionChangedListener(ISelectionChangedListener listener) - {} + public void addSelectionChangedListener(ISelectionChangedListener listener) { + + } /* (non-Javadoc) * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite) */ @Override - public void createControl(Composite parent) - { + public void createControl(Composite parent) { // create canvas and lws overview = new Canvas(parent, SWT.NONE); LightweightSystem lws = new LightweightSystem(overview); @@ -90,8 +92,7 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage * @see org.eclipse.ui.part.IPage#dispose() */ @Override - public void dispose() - { + public void dispose() { if (null != thumbnail) thumbnail.deactivate(); @@ -102,33 +103,22 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage * @see org.eclipse.ui.part.IPage#getControl() */ @Override - public Control getControl() - { + public Control getControl() { return overview; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() - */ @Override - public ISelection getSelection() - { + public ISelection getSelection() { return StructuredSelection.EMPTY; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) - */ @Override - public void removeSelectionChangedListener(ISelectionChangedListener listener) - {} + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + + } - /* (non-Javadoc) - * @see org.eclipse.ui.part.IPage#setFocus() - */ @Override - public void setFocus() - { + public void setFocus() { if (getControl() != null) getControl().setFocus(); } @@ -137,6 +127,6 @@ public class ERDOutlinePage extends Page implements IContentOutlinePage * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) */ @Override - public void setSelection(ISelection selection) - {} + public void setSelection(ISelection selection) { + } } diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDEntityAttribute.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDEntityAttribute.java index 6484a741373f8e90a8a76ee8bfc2b96705e34245..c7d2acac037646af5a8170644a1d7ff6a2b1acd3 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDEntityAttribute.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDEntityAttribute.java @@ -31,6 +31,7 @@ import org.jkiss.dbeaver.model.struct.DBSEntityAttribute; */ public class ERDEntityAttribute extends ERDObject { private boolean isChecked; + private int order = -1; private boolean inPrimaryKey; private boolean inForeignKey; private String alias; @@ -56,6 +57,14 @@ public class ERDEntityAttribute extends ERDObject { isChecked = checked; } + public int getOrder() { + return order; + } + + public void setOrder(int order) { + this.order = order; + } + public String getAlias() { return alias; }