diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorNested.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorNested.java index 2536c393fadb6bc6b58b56fe3e4506a901b62df9..de6ce06bd8557df21640568ae3ae06ceae496324 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorNested.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLEditorNested.java @@ -39,6 +39,7 @@ import org.eclipse.swt.events.FocusEvent; import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.part.MultiPageEditorSite; import org.eclipse.ui.texteditor.IDocumentProvider; @@ -49,6 +50,7 @@ import org.jkiss.dbeaver.model.exec.DBCExecutionContext; import org.jkiss.dbeaver.model.exec.compile.DBCCompileLog; import org.jkiss.dbeaver.model.exec.compile.DBCSourceHost; import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode; +import org.jkiss.dbeaver.model.preferences.DBPPropertySource; import org.jkiss.dbeaver.model.runtime.AbstractJob; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; import org.jkiss.dbeaver.model.sql.SQLUtils; @@ -84,28 +86,31 @@ public abstract class SQLEditorNested //setHasVerticalRuler(false); } - @Override - public IDatabaseEditorInput getEditorInput() { + public IDatabaseEditorInput getDatabaseEditorInput() { return (IDatabaseEditorInput)super.getEditorInput(); } @Override public T getSourceObject() { - IDatabaseEditorInput editorInput = getEditorInput(); - if (editorInput == null) { + IEditorInput editorInput = getEditorInput(); + if (!(editorInput instanceof IDatabaseEditorInput)) { return null; } - return (T) editorInput.getDatabaseObject(); + return (T) ((IDatabaseEditorInput)editorInput).getDatabaseObject(); } @Override public DBCExecutionContext getExecutionContext() { - IDatabaseEditorInput editorInput = getEditorInput(); - if (editorInput == null) { + IEditorInput editorInput = getEditorInput(); + if (!(editorInput instanceof IDatabaseEditorInput)) { return null; } - return editorInput.getExecutionContext(); + return ((IDatabaseEditorInput)editorInput).getExecutionContext(); + } + + public DBPPropertySource getInputPropertySource() { + return getDatabaseEditorInput().getPropertySource(); } @Override @@ -273,8 +278,7 @@ public abstract class SQLEditorNested @Override protected IAnnotationModel createAnnotationModel(Object element) throws CoreException { - IDatabaseEditorInput editorInput = SQLEditorNested.this.getEditorInput(); - DBSObject databaseObject = editorInput.getDatabaseObject(); + DBSObject databaseObject = getSourceObject(); DBNDatabaseNode node = DBeaverCore.getInstance().getNavigatorModel().getNodeByObject(databaseObject); IResource resource = DBeaverIDECore.resolveWorkspaceResource(databaseObject); if (resource != null) { diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLSourceViewer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLSourceViewer.java index 4b5d5fb3e4b1fd55d931116eb6bd819d19fef6ee..e389b76264edaafb80223ea31e36657efb75da86 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLSourceViewer.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/SQLSourceViewer.java @@ -18,6 +18,7 @@ package org.jkiss.dbeaver.ui.editors.sql; import org.eclipse.jface.action.*; +import org.eclipse.ui.IEditorInput; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.DBPDataSource; import org.jkiss.dbeaver.model.DBPScriptObject; @@ -59,14 +60,16 @@ public class SQLSourceViewer extends SQLE } protected Map getSourceOptions() { - IDatabaseEditorInput editorInput = getEditorInput(); - Collection attributeNames = editorInput.getAttributeNames(); + IEditorInput editorInput = getEditorInput(); Map options = new HashMap<>(); - options.put(DBPScriptObject.OPTION_DDL_SOURCE, true); - if (!attributeNames.isEmpty()) { - for (String name : attributeNames) { - Object attribute = editorInput.getAttribute(name); - options.put(name, attribute); + if (editorInput instanceof IDatabaseEditorInput) { + Collection attributeNames = ((IDatabaseEditorInput)editorInput).getAttributeNames(); + options.put(DBPScriptObject.OPTION_DDL_SOURCE, true); + if (!attributeNames.isEmpty()) { + for (String name : attributeNames) { + Object attribute = ((IDatabaseEditorInput)editorInput).getAttribute(name); + options.put(name, attribute); + } } } return options; diff --git a/plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/editors/DB2RoutineDDLEditor.java b/plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/editors/DB2RoutineDDLEditor.java index 05db1b395b7821351d794c86523c6877d536b07a..7f497319b2d4f0a400f53ceba884aac9e490a3ca 100644 --- a/plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/editors/DB2RoutineDDLEditor.java +++ b/plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/editors/DB2RoutineDDLEditor.java @@ -68,7 +68,7 @@ public class DB2RoutineDDLEditor extends SQLSourceViewer { { for (DB2DDLFormat format : DB2DDLFormat.values()) { if (format.ordinal() == ddlFormatCombo.getSelectionIndex()) { - getEditorInput().getDatabaseObject().getDataSource().getContainer().getPreferenceStore() + getSourceObject().getDataSource().getContainer().getPreferenceStore() .setValue(DB2Constants.PREF_KEY_DDL_FORMAT, format.name()); refreshPart(this, true); break; diff --git a/plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/editors/ExasolSourceViewEditor.java b/plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/editors/ExasolSourceViewEditor.java index b659194c14dd52b0ed072f0c654a2087ed24b19d..3f63cf2429dfb386efaf48ecbee7727273f087ad 100644 --- a/plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/editors/ExasolSourceViewEditor.java +++ b/plugins/org.jkiss.dbeaver.ext.exasol/src/org/jkiss/dbeaver/ext/exasol/editors/ExasolSourceViewEditor.java @@ -34,7 +34,7 @@ public class ExasolSourceViewEditor extends SQLSourceViewer @Override protected void setSourceText(DBRProgressMonitor monitor, String sourceText) { - getEditorInput().getPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText); + getInputPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText); } } diff --git a/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLPackageBodyEditor.java b/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLPackageBodyEditor.java index 7191b37efde1644a28b44262437012896a2af188..d339784b23bcb820cf0bf145237184dce58a0e6a 100644 --- a/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLPackageBodyEditor.java +++ b/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLPackageBodyEditor.java @@ -45,7 +45,7 @@ public class MySQLPackageBodyEditor extends SQLSourceViewer { @Override protected void setSourceText(DBRProgressMonitor monitor, String sourceText) { - getEditorInput().getPropertySource().setPropertyValue( + getInputPropertySource().setPropertyValue( monitor, "extendedDefinitionText", sourceText); diff --git a/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLSourceViewEditor.java b/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLSourceViewEditor.java index 1fa4ef7762e4acaef126b606c7428200a3aafafd..e6c6eb45dc8caea11fd162751958f739cb4c1fe5 100644 --- a/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLSourceViewEditor.java +++ b/plugins/org.jkiss.dbeaver.ext.mysql/src/org/jkiss/dbeaver/ext/mysql/editors/MySQLSourceViewEditor.java @@ -39,7 +39,7 @@ public class MySQLSourceViewEditor extends SQLSourceViewer { @Override protected void setSourceText(DBRProgressMonitor monitor, String sourceText) { - getEditorInput().getPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText); + getInputPropertySource().setPropertyValue(monitor, "objectDefinitionText", sourceText); } } \ No newline at end of file diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleObjectDDLEditor.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleObjectDDLEditor.java index 52964e2442f04939a1edac2a498b8891286d5acd..ff241c8debcb26cf7373218428fab1d1fcbca2a9 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleObjectDDLEditor.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleObjectDDLEditor.java @@ -63,7 +63,7 @@ public class OracleObjectDDLEditor extends SQLSourceViewer { public void widgetSelected(SelectionEvent e) { for (OracleDDLFormat format : OracleDDLFormat.values()) { if (format.ordinal() == ddlFormatCombo.getSelectionIndex()) { - getEditorInput().getDatabaseObject().getDataSource().getContainer().getPreferenceStore().setValue( + getSourceObject().getDataSource().getContainer().getPreferenceStore().setValue( OracleConstants.PREF_KEY_DDL_FORMAT, format.name()); refreshPart(this, true); break; diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleSourceDeclarationEditor.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleSourceDeclarationEditor.java index 1320324d28e37451c5a7dc5b7de1f6f14ec133cf..81a1ee36fa8e284c7169747533601456dc05f201 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleSourceDeclarationEditor.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/editors/OracleSourceDeclarationEditor.java @@ -34,7 +34,7 @@ public class OracleSourceDeclarationEditor extends SQLSourceViewer