diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/action/ERDHandlerPaste.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/action/ERDHandlerPaste.java index 55e4aa40efcea0191fbdd04aa79512c69179967b..101fd96ea245be6afc3bafe1e5042a4e94ef0bf9 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/action/ERDHandlerPaste.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/action/ERDHandlerPaste.java @@ -66,7 +66,7 @@ public class ERDHandlerPaste extends AbstractHandler { if (editor != null && !editor.isReadOnly()) { final Collection objects = DatabaseObjectTransfer.getInstance().getObject(); if (!CommonUtils.isEmpty(objects)) { - final List erdEntities = DiagramObjectCollector.generateEntityList(editor.getDiagram(), objects); + final List erdEntities = DiagramObjectCollector.generateEntityList(editor.getDiagram(), objects, true); if (!CommonUtils.isEmpty(erdEntities)) { Command command = editor.getDiagramPart().createEntityAddCommand(erdEntities, new Point(10, 10)); editor.getCommandStack().execute(command); diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/dnd/NodeDropTargetListener.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/dnd/NodeDropTargetListener.java index ebfe19b89558aad93e3a743e763dd2a372fc5221..d20f49f95538a846984d78e3e159b4c893577d6b 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/dnd/NodeDropTargetListener.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/dnd/NodeDropTargetListener.java @@ -63,7 +63,8 @@ public class NodeDropTargetListener extends AbstractTransferDropTargetListener { return DiagramObjectCollector.generateEntityList( ((DiagramPart) getViewer().getRootEditPart().getContents()).getDiagram(), - objects); + objects, + true); } @Override diff --git a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/DiagramObjectCollector.java b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/DiagramObjectCollector.java index 569df2d7762ee24ee428153d71812c3fa0bb11d5..776702e981cf248d444ce28dbe8e1e556fbd9081 100644 --- a/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/DiagramObjectCollector.java +++ b/plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/DiagramObjectCollector.java @@ -40,6 +40,7 @@ public class DiagramObjectCollector { private final EntityDiagram diagram; private final List erdEntities = new ArrayList<>(); + private boolean showViews; public DiagramObjectCollector(EntityDiagram diagram) { @@ -56,6 +57,14 @@ public class DiagramObjectCollector { return tables; } + public boolean isShowViews() { + return showViews; + } + + public void setShowViews(boolean showViews) { + this.showViews = showViews; + } + private static void collectTables( DBRProgressMonitor monitor, Collection roots, @@ -115,7 +124,6 @@ public class DiagramObjectCollector { Collection roots) throws DBException { - boolean showViews = ERDActivator.getDefault().getPreferenceStore().getBoolean(ERDConstants.PREF_DIAGRAM_SHOW_VIEWS); Collection tables = collectTables(monitor, roots); for (DBSEntity table : tables) { if (DBUtils.isHiddenObject(table)) { @@ -161,7 +169,7 @@ public class DiagramObjectCollector { return erdEntities; } - public static List generateEntityList(final EntityDiagram diagram, Collection objects) + public static List generateEntityList(final EntityDiagram diagram, Collection objects, boolean showViews) { final List roots = new ArrayList<>(); for (DBPNamedObject object : objects) { @@ -175,6 +183,9 @@ public class DiagramObjectCollector { try { UIUtils.runInProgressService(monitor -> { DiagramObjectCollector collector = new DiagramObjectCollector(diagram); + collector.setShowViews(showViews); + //boolean showViews = ERDActivator.getDefault().getPreferenceStore().getBoolean(ERDConstants.PREF_DIAGRAM_SHOW_VIEWS); + try { collector.generateDiagramObjects(monitor, roots); } catch (DBException e) {